blob: 947b0a97b4fa833d7e7b36e096d92f21316d0942 (
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
|
package gtPlusPlus.api.objects.minecraft;
import java.util.Iterator;
import java.util.Stack;
import net.minecraft.item.ItemStack;
import thaumcraft.api.aspects.AspectList;
public class ThaumcraftDataStack extends Stack<ThaumcraftItemStackData> {
private final int mStackSize;
public ThaumcraftDataStack() {
this(Integer.MAX_VALUE);
}
public ThaumcraftDataStack(int aMaxSize) {
mStackSize = aMaxSize;
}
public boolean containsItemStack(ItemStack aStack, boolean aAddItemStackIfMissingFromStack) {
return getItemStackIndex(aStack) != -1;
}
private int getItemStackIndex(ItemStack aStack) {
if (this.empty() || aStack == null) {
return -1;
}
Iterator<ThaumcraftItemStackData> iterator = this.iterator();
int aIndex = 0;
while(iterator.hasNext()){
ThaumcraftItemStackData value = iterator.next();
if (value.doesItemStackDataMatch(aStack)) {
//int index = this.search(value);
return aIndex;
}
aIndex++;
}
return -1;
}
public AspectList getAspectsForStack(ItemStack aStack) {
if (aStack != null) {
int aIndex = getItemStackIndex(aStack);
if (!this.empty()) {
if (aIndex != -1) {
ThaumcraftItemStackData aValue = this.elementAt(aIndex);
if (aValue != null) {
return aValue.getAspectList();
}
}
}
if (this.empty() || aIndex == -1) {
ThaumcraftItemStackData aTemp = new ThaumcraftItemStackData(aStack);
this.push(aTemp);
return aTemp.getAspectList();
}
}
return new AspectList();
}
@Override
public ThaumcraftItemStackData push(ThaumcraftItemStackData item) {
if (this.size() >= this.mStackSize) {
this.pop();
}
return super.push(item);
}
}
|