package gtPlusPlus.xmod.gregtech.api.objects; import gtPlusPlus.xmod.gregtech.api.enums.GregtechOrePrefixes.GT_Materials; public class GregtechMaterialStack implements Cloneable { public long mAmount; public GT_Materials mMaterial; public GregtechMaterialStack(final GT_Materials aMaterial, final long aAmount) { this.mMaterial = aMaterial == null ? GT_Materials._NULL : aMaterial; this.mAmount = aAmount; } public GregtechMaterialStack copy(final long aAmount) { return new GregtechMaterialStack(this.mMaterial, aAmount); } @Override public GregtechMaterialStack clone() { return new GregtechMaterialStack(this.mMaterial, this.mAmount); } @Override public boolean equals(final Object aObject) { if (aObject == this) { return true; } if (aObject == null) { return false; } if (aObject instanceof GT_Materials) { return aObject == this.mMaterial; } if (aObject instanceof GregtechMaterialStack) { return (((GregtechMaterialStack) aObject).mMaterial == this.mMaterial) && ((this.mAmount < 0) || (((GregtechMaterialStack) aObject).mAmount < 0) || (((GregtechMaterialStack) aObject).mAmount == this.mAmount)); } return false; } @Override public String toString() { return ((this.mMaterial.mMaterialList.size() > 1) && (this.mAmount > 1) ? "(" : "") + this.mMaterial.getToolTip(true) + ((this.mMaterial.mMaterialList.size() > 1) && (this.mAmount > 1) ? ")" : "") + (this.mAmount > 1 ? this.mAmount : ""); } @Override public int hashCode() { return this.mMaterial.hashCode(); } }