aboutsummaryrefslogtreecommitdiff
path: root/src/Java/binnie/core/util
diff options
context:
space:
mode:
authorDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
committerDraknyte1 <Draknyte1@hotmail.com>2016-01-20 14:24:34 +1000
commit869c206c4fcc8001bd2e1d66f704290331813835 (patch)
tree96735ce8fe4665e2759c3374221d6f06f4527df2 /src/Java/binnie/core/util
parentec2c72827f01dd4bb2174137f1ab162f9ddaab62 (diff)
downloadGT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.gz
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.tar.bz2
GT5-Unofficial-869c206c4fcc8001bd2e1d66f704290331813835.zip
Initial Commit
Diffstat (limited to 'src/Java/binnie/core/util')
-rw-r--r--src/Java/binnie/core/util/FluidStackSet.java128
-rw-r--r--src/Java/binnie/core/util/IValidator.java6
-rw-r--r--src/Java/binnie/core/util/ItemStackSet.java128
-rw-r--r--src/Java/binnie/core/util/UniqueFluidStackSet.java28
-rw-r--r--src/Java/binnie/core/util/UniqueItemStackSet.java28
5 files changed, 318 insertions, 0 deletions
diff --git a/src/Java/binnie/core/util/FluidStackSet.java b/src/Java/binnie/core/util/FluidStackSet.java
new file mode 100644
index 0000000000..1283435293
--- /dev/null
+++ b/src/Java/binnie/core/util/FluidStackSet.java
@@ -0,0 +1,128 @@
+package binnie.core.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import net.minecraftforge.fluids.FluidStack;
+
+class FluidStackSet
+ implements Set<FluidStack>
+{
+ public String toString()
+ {
+ return this.itemStacks.toString();
+ }
+
+ List<FluidStack> itemStacks = new ArrayList();
+
+ protected FluidStack getExisting(FluidStack stack)
+ {
+ for (FluidStack stack2 : this.itemStacks) {
+ if (stack2.isFluidEqual(stack)) {
+ return stack2;
+ }
+ }
+ return null;
+ }
+
+ public boolean add(FluidStack e)
+ {
+ if (e != null)
+ {
+ if (getExisting(e) == null) {
+ return this.itemStacks.add(e.copy());
+ }
+ getExisting(e).amount += e.amount;
+ }
+ return false;
+ }
+
+ public boolean addAll(Collection<? extends FluidStack> c)
+ {
+ boolean addedAll = true;
+ for (FluidStack stack : c) {
+ addedAll = (add(stack)) && (addedAll);
+ }
+ return addedAll;
+ }
+
+ public void clear()
+ {
+ this.itemStacks.clear();
+ }
+
+ public boolean contains(Object o)
+ {
+ if (!(o instanceof FluidStack)) {
+ return false;
+ }
+ return getExisting((FluidStack)o) != null;
+ }
+
+ public boolean containsAll(Collection<?> c)
+ {
+ boolean addedAll = true;
+ for (Object o : c) {
+ addedAll = (addedAll) && (contains(o));
+ }
+ return false;
+ }
+
+ public boolean isEmpty()
+ {
+ return this.itemStacks.isEmpty();
+ }
+
+ public Iterator<FluidStack> iterator()
+ {
+ return this.itemStacks.iterator();
+ }
+
+ public boolean remove(Object o)
+ {
+ if (contains(o))
+ {
+ FluidStack r = (FluidStack)o;
+ FluidStack existing = getExisting(r);
+ if (existing.amount > r.amount) {
+ existing.amount -= r.amount;
+ } else {
+ this.itemStacks.remove(existing);
+ }
+ }
+ return false;
+ }
+
+ public boolean removeAll(Collection<?> c)
+ {
+ boolean addedAll = true;
+ for (Object o : c)
+ {
+ boolean removed = remove(o);
+ addedAll = (removed) && (addedAll);
+ }
+ return false;
+ }
+
+ public boolean retainAll(Collection<?> c)
+ {
+ return this.itemStacks.retainAll(c);
+ }
+
+ public int size()
+ {
+ return this.itemStacks.size();
+ }
+
+ public Object[] toArray()
+ {
+ return this.itemStacks.toArray();
+ }
+
+ public <T> T[] toArray(T[] a)
+ {
+ return this.itemStacks.toArray(a);
+ }
+}
diff --git a/src/Java/binnie/core/util/IValidator.java b/src/Java/binnie/core/util/IValidator.java
new file mode 100644
index 0000000000..c6b39dc153
--- /dev/null
+++ b/src/Java/binnie/core/util/IValidator.java
@@ -0,0 +1,6 @@
+package binnie.core.util;
+
+public abstract interface IValidator<T>
+{
+ public abstract boolean isValid(T paramT);
+}
diff --git a/src/Java/binnie/core/util/ItemStackSet.java b/src/Java/binnie/core/util/ItemStackSet.java
new file mode 100644
index 0000000000..a154f7edfc
--- /dev/null
+++ b/src/Java/binnie/core/util/ItemStackSet.java
@@ -0,0 +1,128 @@
+package binnie.core.util;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Set;
+import net.minecraft.item.ItemStack;
+
+public class ItemStackSet
+ implements Set<ItemStack>
+{
+ public String toString()
+ {
+ return this.itemStacks.toString();
+ }
+
+ List<ItemStack> itemStacks = new ArrayList();
+
+ protected ItemStack getExisting(ItemStack stack)
+ {
+ for (ItemStack stack2 : this.itemStacks) {
+ if (stack2.isItemEqual(stack)) {
+ return stack2;
+ }
+ }
+ return null;
+ }
+
+ public boolean add(ItemStack e)
+ {
+ if (e != null)
+ {
+ if (getExisting(e) == null) {
+ return this.itemStacks.add(e.copy());
+ }
+ getExisting(e).stackSize += e.stackSize;
+ }
+ return false;
+ }
+
+ public boolean addAll(Collection<? extends ItemStack> c)
+ {
+ boolean addedAll = true;
+ for (ItemStack stack : c) {
+ addedAll = (add(stack)) && (addedAll);
+ }
+ return addedAll;
+ }
+
+ public void clear()
+ {
+ this.itemStacks.clear();
+ }
+
+ public boolean contains(Object o)
+ {
+ if (!(o instanceof ItemStack)) {
+ return false;
+ }
+ return getExisting((ItemStack)o) != null;
+ }
+
+ public boolean containsAll(Collection<?> c)
+ {
+ boolean addedAll = true;
+ for (Object o : c) {
+ addedAll = (addedAll) && (contains(o));
+ }
+ return false;
+ }
+
+ public boolean isEmpty()
+ {
+ return this.itemStacks.isEmpty();
+ }
+
+ public Iterator<ItemStack> iterator()
+ {
+ return this.itemStacks.iterator();
+ }
+
+ public boolean remove(Object o)
+ {
+ if (contains(o))
+ {
+ ItemStack r = (ItemStack)o;
+ ItemStack existing = getExisting(r);
+ if (existing.stackSize > r.stackSize) {
+ existing.stackSize -= r.stackSize;
+ } else {
+ this.itemStacks.remove(existing);
+ }
+ }
+ return false;
+ }
+
+ public boolean removeAll(Collection<?> c)
+ {
+ boolean addedAll = true;
+ for (Object o : c)
+ {
+ boolean removed = remove(o);
+ addedAll = (removed) && (addedAll);
+ }
+ return false;
+ }
+
+ public boolean retainAll(Collection<?> c)
+ {
+ return this.itemStacks.retainAll(c);
+ }
+
+ public int size()
+ {
+ return this.itemStacks.size();
+ }
+
+ public Object[] toArray()
+ {
+ return this.itemStacks.toArray();
+ }
+
+ public <T> T[] toArray(T[] a)
+ {
+ return this.itemStacks.toArray(a);
+ }
+}
diff --git a/src/Java/binnie/core/util/UniqueFluidStackSet.java b/src/Java/binnie/core/util/UniqueFluidStackSet.java
new file mode 100644
index 0000000000..49a7dbab35
--- /dev/null
+++ b/src/Java/binnie/core/util/UniqueFluidStackSet.java
@@ -0,0 +1,28 @@
+package binnie.core.util;
+
+import java.util.List;
+import net.minecraftforge.fluids.FluidStack;
+
+public class UniqueFluidStackSet
+ extends FluidStackSet
+{
+ public boolean add(FluidStack e)
+ {
+ if ((e != null) &&
+ (getExisting(e) == null)) {
+ return this.itemStacks.add(e.copy());
+ }
+ return false;
+ }
+
+ public boolean remove(Object o)
+ {
+ if (contains(o))
+ {
+ FluidStack r = (FluidStack)o;
+ FluidStack existing = getExisting(r);
+ this.itemStacks.remove(existing);
+ }
+ return false;
+ }
+}
diff --git a/src/Java/binnie/core/util/UniqueItemStackSet.java b/src/Java/binnie/core/util/UniqueItemStackSet.java
new file mode 100644
index 0000000000..f9571e8fee
--- /dev/null
+++ b/src/Java/binnie/core/util/UniqueItemStackSet.java
@@ -0,0 +1,28 @@
+package binnie.core.util;
+
+import java.util.List;
+import net.minecraft.item.ItemStack;
+
+public class UniqueItemStackSet
+ extends ItemStackSet
+{
+ public boolean add(ItemStack e)
+ {
+ if ((e != null) &&
+ (getExisting(e) == null)) {
+ return this.itemStacks.add(e.copy());
+ }
+ return false;
+ }
+
+ public boolean remove(Object o)
+ {
+ if (contains(o))
+ {
+ ItemStack r = (ItemStack)o;
+ ItemStack existing = getExisting(r);
+ this.itemStacks.remove(existing);
+ }
+ return false;
+ }
+}