aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2017-05-12 22:26:05 +0200
committerTechnus <daniel112092@gmail.com>2017-05-12 22:26:05 +0200
commit11992faf1ea711a8eb56370b498259c48bfe4237 (patch)
tree3de44b9c4e4e4b7c364417be3d57a75592be7c11
parent6925013d14fd0b0edcb9eb76868b42aefae71c6f (diff)
downloadGT5-Unofficial-11992faf1ea711a8eb56370b498259c48bfe4237.tar.gz
GT5-Unofficial-11992faf1ea711a8eb56370b498259c48bfe4237.tar.bz2
GT5-Unofficial-11992faf1ea711a8eb56370b498259c48bfe4237.zip
More work on immutability.
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStackMap.java33
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java8
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java12
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java12
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java22
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java4
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/dComplexAspectDefinition.java2
-rw-r--r--src/main/java/com/github/technus/tectech/elementalMatter/definitions/ePrimalAspectDefinition.java2
8 files changed, 27 insertions, 68 deletions
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStackMap.java
index d793054b4c..436f37eccc 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStackMap.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalDefinitionStackMap.java
@@ -35,7 +35,7 @@ public final class cElementalDefinitionStackMap/*IMMUTABLE*/ extends cElementalS
//IMMUTABLE DON'T NEED IT
@Override
- public cElementalDefinitionStackMap Clone() {
+ public cElementalDefinitionStackMap clone() {
return this;
}
@@ -49,40 +49,13 @@ public final class cElementalDefinitionStackMap/*IMMUTABLE*/ extends cElementalS
return toMutable().getRawMap();
}
-
- //NBT
- public NBTTagCompound getInfoNBT() {
- final NBTTagCompound nbt = new NBTTagCompound();
- final String[] info = getElementalInfo();
- nbt.setInteger("i", info.length);
- for (int i = 0; i < info.length; i++)
- nbt.setString(Integer.toString(i), info[i]);
- return nbt;
- }
-
- public static String[] infoFromNBT(NBTTagCompound nbt) {
- final String[] strings = new String[nbt.getInteger("i")];
- for (int i = 0; i < strings.length; i++)
- strings[i] = nbt.getString(Integer.toString(i));
- return strings;
- }
-
- public NBTTagCompound toNBT() {
- final NBTTagCompound nbt = new NBTTagCompound();
- nbt.setInteger("i", map.size());
- int i = 0;
- for (cElementalDefinitionStack defStack : map.values())
- nbt.setTag(Integer.toString(i++), defStack.toNBT());
- return nbt;
- }
-
- public static cElementalMutableDefinitionStackMap fromNBT(NBTTagCompound nbt) throws tElementalException {
+ public static cElementalDefinitionStackMap fromNBT(NBTTagCompound nbt) throws tElementalException {
final cElementalDefinitionStack[] defStacks = new cElementalDefinitionStack[nbt.getInteger("i")];
for (int i = 0; i < defStacks.length; i++) {
defStacks[i] = cElementalDefinitionStack.fromNBT(nbt.getCompoundTag(Integer.toString(i)));
if (defStacks[i].definition.equals(nbtE__))
throw new tElementalException("Something went Wrong");
}
- return new cElementalMutableDefinitionStackMap(defStacks);
+ return new cElementalDefinitionStackMap(defStacks);
}
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
index bb5fcf744c..2a2c6d12e1 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStack.java
@@ -10,7 +10,7 @@ import static com.github.technus.tectech.elementalMatter.definitions.cPrimitiveD
/**
* Created by danie_000 on 22.10.2016.
*/
-public class cElementalInstanceStack implements iHasElementalDefinition {//TODO unify checks for amount?
+public final class cElementalInstanceStack implements iHasElementalDefinition {//TODO unify checks for amount?
public final iElementalDefinition definition;
//energy - if positive then particle should try to decay
public int energy;
@@ -60,11 +60,7 @@ public class cElementalInstanceStack implements iHasElementalDefinition {//TODO
}
@Override
- protected final Object clone() {
- return Clone();
- }
-
- public final cElementalInstanceStack Clone() {
+ public final cElementalInstanceStack clone() {
return new cElementalInstanceStack(this);
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java
index 52185929de..ebbd80c07b 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalInstanceStackMap.java
@@ -13,7 +13,7 @@ import static com.github.technus.tectech.elementalMatter.definitions.cPrimitiveD
/**
* Created by danie_000 on 22.01.2017.
*/
-public class cElementalInstanceStackMap implements Comparable<cElementalInstanceStackMap> {
+public final class cElementalInstanceStackMap implements Comparable<cElementalInstanceStackMap> {
private Map<iElementalDefinition, cElementalInstanceStack> map = new TreeMap<>();
//Constructors
@@ -27,7 +27,7 @@ public class cElementalInstanceStackMap implements Comparable<cElementalInstance
public cElementalInstanceStackMap(boolean clone, cElementalInstanceStack... in) {
if (clone) {
for (cElementalInstanceStack instance : in) {
- map.put(instance.definition, instance.Clone());
+ map.put(instance.definition, instance.clone());
}
} else {
for (cElementalInstanceStack instance : in) {
@@ -43,7 +43,7 @@ public class cElementalInstanceStackMap implements Comparable<cElementalInstance
private cElementalInstanceStackMap(boolean clone, Map<iElementalDefinition, cElementalInstanceStack> in) {
if (clone) {
for (cElementalInstanceStack instance : in.values()) {
- map.put(instance.definition, instance.Clone());
+ map.put(instance.definition, instance.clone());
}
} else {
map = in;
@@ -59,11 +59,7 @@ public class cElementalInstanceStackMap implements Comparable<cElementalInstance
}
@Override
- protected final Object clone() {
- return Clone();
- }
-
- public final cElementalInstanceStackMap Clone(){
+ public final cElementalInstanceStackMap clone(){
return new cElementalInstanceStackMap(map);
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
index 242f9bc936..8e62b47647 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalMutableDefinitionStackMap.java
@@ -47,7 +47,7 @@ public final class cElementalMutableDefinitionStackMap extends cElementalStackMa
}
@Override
- public cElementalMutableDefinitionStackMap Clone(){
+ public cElementalMutableDefinitionStackMap clone(){
return new cElementalMutableDefinitionStackMap(map);
}
@@ -211,4 +211,14 @@ public final class cElementalMutableDefinitionStackMap extends cElementalStackMa
for (cElementalDefinitionStack in : containerUnsafe.map.values())
putUnify(in);
}
+
+ public static cElementalMutableDefinitionStackMap fromNBT(NBTTagCompound nbt) throws tElementalException {
+ final cElementalDefinitionStack[] defStacks = new cElementalDefinitionStack[nbt.getInteger("i")];
+ for (int i = 0; i < defStacks.length; i++) {
+ defStacks[i] = cElementalDefinitionStack.fromNBT(nbt.getCompoundTag(Integer.toString(i)));
+ if (defStacks[i].definition.equals(nbtE__))
+ throw new tElementalException("Something went Wrong");
+ }
+ return new cElementalMutableDefinitionStackMap(defStacks);
+ }
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java
index 44af95991e..192a3b24d0 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/classes/cElementalStackMap.java
@@ -25,13 +25,7 @@ abstract class cElementalStackMap implements Comparable<cElementalStackMap> {
}
@Override
- protected final Object clone() {//Equal to making new obj...
- return Clone();
- }
-
- public cElementalStackMap Clone(){
- return this;
- }
+ public abstract cElementalStackMap clone();
@Deprecated
public abstract Map<iElementalDefinition,cElementalDefinitionStack> getRawMap();
@@ -95,7 +89,7 @@ abstract class cElementalStackMap implements Comparable<cElementalStackMap> {
}
//NBT
- public NBTTagCompound getInfoNBT() {
+ public final NBTTagCompound getInfoNBT() {
final NBTTagCompound nbt = new NBTTagCompound();
final String[] info = getElementalInfo();
nbt.setInteger("i", info.length);
@@ -111,7 +105,7 @@ abstract class cElementalStackMap implements Comparable<cElementalStackMap> {
return strings;
}
- public NBTTagCompound toNBT() {
+ public final NBTTagCompound toNBT() {
final NBTTagCompound nbt = new NBTTagCompound();
nbt.setInteger("i", map.size());
int i = 0;
@@ -119,14 +113,4 @@ abstract class cElementalStackMap implements Comparable<cElementalStackMap> {
nbt.setTag(Integer.toString(i++), defStack.toNBT());
return nbt;
}
-
- public static cElementalMutableDefinitionStackMap fromNBT(NBTTagCompound nbt) throws tElementalException {
- final cElementalDefinitionStack[] defStacks = new cElementalDefinitionStack[nbt.getInteger("i")];
- for (int i = 0; i < defStacks.length; i++) {
- defStacks[i] = cElementalDefinitionStack.fromNBT(nbt.getCompoundTag(Integer.toString(i)));
- if (defStacks[i].definition.equals(nbtE__))
- throw new tElementalException("Something went Wrong");
- }
- return new cElementalMutableDefinitionStackMap(defStacks);
- }
}
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java
index d369115568..9086ea80eb 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dAtomDefinition.java
@@ -79,7 +79,7 @@ public final class dAtomDefinition extends cElementalDefinition {
private dAtomDefinition(boolean clone, boolean check, cElementalMutableDefinitionStackMap things) throws tElementalException {
if (check && !canTheyBeTogether(things)) throw new tElementalException("Atom Definition error");
- this.elementalStacks = clone?things.Clone():things;
+ this.elementalStacks = clone?things.clone():things;
float mass = 0;
int cLeptons = 0;
@@ -275,7 +275,7 @@ public final class dAtomDefinition extends cElementalDefinition {
@Override
public cElementalMutableDefinitionStackMap getSubParticles() {
- return elementalStacks.Clone();
+ return elementalStacks.clone();
}
@Override
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dComplexAspectDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dComplexAspectDefinition.java
index b3c6c910d8..033f611a07 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dComplexAspectDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/dComplexAspectDefinition.java
@@ -12,7 +12,7 @@ import static com.github.technus.tectech.elementalMatter.classes.cElementalDecay
/**
* Created by Tec on 06.05.2017.
*/
-public class dComplexAspectDefinition extends cElementalDefinition {
+public final class dComplexAspectDefinition extends cElementalDefinition {
//TODO aspect binding
private static final byte nbtType = (byte) 'c';
diff --git a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/ePrimalAspectDefinition.java b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/ePrimalAspectDefinition.java
index 72ceccf412..38b23b7b37 100644
--- a/src/main/java/com/github/technus/tectech/elementalMatter/definitions/ePrimalAspectDefinition.java
+++ b/src/main/java/com/github/technus/tectech/elementalMatter/definitions/ePrimalAspectDefinition.java
@@ -6,7 +6,7 @@ import com.github.technus.tectech.elementalMatter.classes.cElementalPrimitive;
/**
* Created by Tec on 06.05.2017.
*/
-public class ePrimalAspectDefinition extends cElementalPrimitive {
+public final class ePrimalAspectDefinition extends cElementalPrimitive {
public static final ePrimalAspectDefinition
magic_order = new ePrimalAspectDefinition("Order", "o`", 0, 0F, 0, -1, 30),
magic_entropy_ = new ePrimalAspectDefinition("Entropy", "e`", 0, 0F, 0, -1, 31),