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 addToAspectList(List 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 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; } } }