GT5-Unofficial/src/main/java/gregtech/api/enums/TC_Aspects.java
2015-10-21 20:46:52 -04:00

108 lines
No EOL
1.9 KiB
Java

package gregtech.api.enums;
import java.util.List;
public enum TC_Aspects {
AER(1)
, ALIENIS(20)
, AQUA(3)
, ARBOR(1)
, AURAM(16)
, BESTIA(6)
, COGNITO(2)
, CORPUS(2)
, ELECTRUM(24)
, EXAMINIS(32)
, FABRICO(2)
, FAMES(2)
, GELUM(1)
, GRANUM(4)
, HERBA(2)
, HUMANUS(8)
, IGNIS(4)
, INSTRUMENTUM(4)
, ITER(6)
, LIMUS(3)
, LUCRUM(32)
, LUX(4)
, MACHINA(16)
, MAGNETO(24)
, MESSIS(3)
, METALLUM(8)
, METO(2)
, MORTUUS(16)
, MOTUS(4)
, NEBRISUM(48)
, ORDO(8)
, PANNUS(6)
, PERDITIO(2)
, PERFODIO(4)
, PERMUTATIO(12)
, POTENTIA(16)
, PRAECANTIO(16)
, RADIO(48)
, SANO(24)
, SENSUS(4)
, SPIRITUS(24)
, STRONTIO(64)
, TELUM(6)
, TERRA(1)
, TEMPESTAS(64)
, TENEBRAE(24)
, TUTAMEN(12)
, VACUOS(6)
, VENENUM(16)
, VICTUS(4)
, VINCULUM(16)
, VITIUM(48)
, VITREUS(3)
, VOLATUS(12)
;
/**
* The Thaumcraft Aspect Object of the Mod itself.
*/
public Object mAspect;
public int mValue;
private TC_Aspects(int aValue){
mValue = aValue;
}
public static class TC_AspectStack {
public TC_Aspects mAspect;
public long mAmount;
public TC_AspectStack(TC_Aspects aAspect, long aAmount) {
mAspect = aAspect;
mAmount = aAmount;
}
public TC_AspectStack copy() {
return new TC_AspectStack(mAspect, mAmount);
}
public TC_AspectStack copy(long aAmount) {
return new TC_AspectStack(mAspect, aAmount);
}
public List<TC_AspectStack> addToAspectList(List<TC_AspectStack> aList) {
if (mAmount == 0) return aList;
for (TC_AspectStack tAspect : aList) if (tAspect.mAspect == mAspect) {tAspect.mAmount += mAmount; return aList;}
aList.add(copy());
return aList;
}
public boolean removeFromAspectList(List<TC_AspectStack> aList) {
for (TC_AspectStack tAspect : aList) if (tAspect.mAspect == mAspect) {
if (tAspect.mAmount >= mAmount) {
tAspect.mAmount -= mAmount;
if (tAspect.mAmount == 0) aList.remove(tAspect);
return true;
}
}
return false;
}
}
}