blob: 4c9e6c129cf1ac12a852bd3a4aa2e08bfb791cdd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
package gtPlusPlus.xmod.gregtech.common;
import static gtPlusPlus.xmod.gregtech.common.covers.GTPP_Cover_Overflow.mOverflowCache;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Timer;
import java.util.TimerTask;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import net.minecraft.client.renderer.texture.IIconRegister;
import gregtech.api.GregTech_API;
import gtPlusPlus.api.objects.Logger;
import gtPlusPlus.api.objects.data.ObjMap;
public class Meta_GT_Proxy {
public static List<Runnable> GT_BlockIconload = new ArrayList<>();
public static List<Runnable> GT_ItemIconload = new ArrayList<>();
@SideOnly(Side.CLIENT)
public static IIconRegister sBlockIcons, sItemIcons;
public Meta_GT_Proxy() {
Logger.INFO("GT_PROXY - initialized.");
scheduleCoverMapCleaner();
}
public static boolean areWeUsingGregtech5uExperimental(){
final int version = GregTech_API.VERSION;
if ((version == 508) || (version == 507)){
return false;
}
else if (version == 509){
return true;
}
else {
return false;
}
}
public void scheduleCoverMapCleaner(){
TimerTask repeatedTask = new TimerTask() {
public void run() {
cleanupOverFlowCoverCache();
}
};
Timer timer = new Timer("CoverCleanupManager");
long delay = 120000L;
long period = 300000L;
timer.scheduleAtFixedRate(repeatedTask, delay, period);
}
public static int cleanupOverFlowCoverCache() {
ObjMap cache = mOverflowCache;
int aRemoved = 0;
long aCurrentTime = System.currentTimeMillis()/1000;
for (Object o : cache.values()) {
if (o != null && o instanceof HashMap) {
HashMap<String, Object> m = (HashMap<String, Object>) o;
if (m != null) {
String s = (String) m.get("aCoverKey");
if (m.containsKey("aLastUpdatedTime")) {
long mapTime = (long) m.get("mLastUpdatedTime");
if ((aCurrentTime-(mapTime/1000) > 30)){
mOverflowCache.remove(s);
aRemoved++;
}
}
else {
mOverflowCache.remove(s);
aRemoved++;
}
}
}
}
return aRemoved;
}
}
|