aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-27 16:16:10 +1000
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-05-27 16:16:10 +1000
commit4cbc4b40b3e1d5197b6e390311472fffcf4bec21 (patch)
treec84f47cf4a7a6a82dbb92c02123cc7b18c14f19d /src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java
parent79f37cfd42c53af7969fba388b711955e389b76d (diff)
downloadGT5-Unofficial-4cbc4b40b3e1d5197b6e390311472fffcf4bec21.tar.gz
GT5-Unofficial-4cbc4b40b3e1d5197b6e390311472fffcf4bec21.tar.bz2
GT5-Unofficial-4cbc4b40b3e1d5197b6e390311472fffcf4bec21.zip
$ Hopefully fixed issue where BoP limestone is valid for Fluorite.
$ Fixed the ABS not using the correct texture on the top layer input hatch. % More internal work on LFTR rewrite.
Diffstat (limited to 'src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java')
-rw-r--r--src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java94
1 files changed, 89 insertions, 5 deletions
diff --git a/src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java b/src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java
index 0aeaedb01d..78e925fe04 100644
--- a/src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java
+++ b/src/Java/gtPlusPlus/api/objects/minecraft/NoConflictGTRecipeMap.java
@@ -1,13 +1,14 @@
package gtPlusPlus.api.objects.minecraft;
import java.util.Collection;
+import java.util.Iterator;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.util.GT_Recipe;
import gtPlusPlus.api.objects.data.AutoMap;
-public class NoConflictGTRecipeMap {
+public class NoConflictGTRecipeMap implements Collection<GT_Recipe> {
private AutoMap<GT_Recipe> mRecipeCache = new AutoMap<GT_Recipe>();
private final IGregTechTileEntity mMachineType;
@@ -15,25 +16,108 @@ public class NoConflictGTRecipeMap {
public NoConflictGTRecipeMap () {
this(null);
}
-
+
public NoConflictGTRecipeMap (IGregTechTileEntity tile0) {
this.mMachineType = tile0;
}
public boolean put(GT_Recipe recipe) {
return add(recipe);
}
-
+
public boolean add(GT_Recipe recipe) {
return mRecipeCache.setValue(recipe);
}
-
+
public Collection<GT_Recipe> getRecipeMap() {
return mRecipeCache.values();
}
-
+
public boolean isMapValidForMachine(IGregTechTileEntity tile) {
return tile == mMachineType;
}
+ @Override
+ public boolean addAll(Collection<? extends GT_Recipe> arg0) {
+ int a = 0;
+ for (Object v : arg0) {
+ if (!this.mRecipeCache.containsValue((GT_Recipe) v)) {
+ this.mRecipeCache.put((GT_Recipe) v);
+ a++;
+ }
+ }
+ return a > 0;
+ }
+
+ @Override
+ public void clear() {
+ mRecipeCache.clear();
+ }
+
+ @Override
+ public boolean contains(Object arg0) {
+ return mRecipeCache.containsValue((GT_Recipe) arg0);
+ }
+
+ @Override
+ public boolean containsAll(Collection<?> arg0) {
+ int a = 0;
+ for (Object v : arg0) {
+ if (this.mRecipeCache.containsValue((GT_Recipe) v)) {
+ a++;
+ }
+ }
+ return a == arg0.size();
+ }
+
+ @Override
+ public boolean isEmpty() {
+ return mRecipeCache.isEmpty();
+ }
+
+ @Override
+ public Iterator<GT_Recipe> iterator() {
+ return mRecipeCache.iterator();
+ }
+
+ @Override
+ public boolean remove(Object arg0) {
+ return mRecipeCache.remove((GT_Recipe) arg0);
+ }
+
+ @Override
+ public boolean removeAll(Collection<?> arg0) {
+ int a = 0;
+ for (Object v : arg0) {
+ if (this.mRecipeCache.containsValue((GT_Recipe) v)) {
+ this.mRecipeCache.remove((GT_Recipe) v);
+ a++;
+ }
+ }
+ return a > 0;
+ }
+
+ @Override
+ public boolean retainAll(Collection<?> arg0) {
+ int mStartSize = this.mRecipeCache.size();
+ this.mRecipeCache = (AutoMap<GT_Recipe>) arg0;
+ int mEndsize = this.mRecipeCache.size();
+ return mStartSize != mEndsize;
+ }
+
+ @Override
+ public int size() {
+ return this.mRecipeCache.size();
+ }
+
+ @Override
+ public Object[] toArray() {
+ return this.mRecipeCache.toArray();
+ }
+
+ @Override
+ public <T> T[] toArray(T[] arg0) {
+ return (T[]) this.mRecipeCache.toArray();
+ }
+
}