aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-25 12:16:57 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-25 12:16:57 +1000
commit2b73e75c4de865c05c5cb48bc9e91b1754a37c0c (patch)
tree99bb61b1857500a3d313417fd948acc7ce4cedd4 /src/Java/gtPlusPlus/api
parent83a72ed129bafdf25ab87e45521a1a22a3afc23e (diff)
downloadGT5-Unofficial-2b73e75c4de865c05c5cb48bc9e91b1754a37c0c.tar.gz
GT5-Unofficial-2b73e75c4de865c05c5cb48bc9e91b1754a37c0c.tar.bz2
GT5-Unofficial-2b73e75c4de865c05c5cb48bc9e91b1754a37c0c.zip
+ Added a WeakRef type Automap.
+ Added getClassByName(String) to ReflectionUtils.java. + Added lots of handlers to ThaumcraftUtils.java. $ Improved Fake Player handling to only now be held by weak references. Should prevent worlds staying loaded.
Diffstat (limited to 'src/Java/gtPlusPlus/api')
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/AutoMap.java11
-rw-r--r--src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java12
2 files changed, 22 insertions, 1 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
index de565ab95a..7ffa2deb42 100644
--- a/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
+++ b/src/Java/gtPlusPlus/api/objects/data/AutoMap.java
@@ -8,7 +8,7 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
/**
* The Internal Map
*/
- protected Map<Integer, V> mInternalMap = new HashMap<Integer, V>();
+ protected final Map<Integer, V> mInternalMap;
/**
* The Internal ID
@@ -16,6 +16,15 @@ public class AutoMap<V> implements Iterable<V>, Cloneable, Serializable {
private int mInternalID = 0;
private static final long serialVersionUID = 3771412318075131790L;
+
+ public AutoMap() {
+ this(new HashMap<Integer, V>());
+ }
+
+ public AutoMap(Map<Integer, V> defaultMapType) {
+ mInternalMap = defaultMapType;
+ }
+
@Override
public Iterator<V> iterator() {
return values().iterator();
diff --git a/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java b/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java
new file mode 100644
index 0000000000..6c55822ca9
--- /dev/null
+++ b/src/Java/gtPlusPlus/api/objects/data/weakref/WeakAutoMap.java
@@ -0,0 +1,12 @@
+package gtPlusPlus.api.objects.data.weakref;
+
+import java.util.WeakHashMap;
+
+import gtPlusPlus.api.objects.data.AutoMap;
+
+public class WeakAutoMap<T> extends AutoMap<T> {
+ private static final long serialVersionUID = 8328345351801363386L;
+ public WeakAutoMap() {
+ super(new WeakHashMap<Integer, T>());
+ }
+}