@@ -0,0 +1,1921 @@
+package org.pfaa.chemica.processing;%0A%0Aimport java.util.Collections;%0Aimport java.util.List;%0A%0Aimport org.pfaa.chemica.model.IndustrialMaterial;%0Aimport org.pfaa.chemica.model.State;%0Aimport org.pfaa.chemica.processing.Form.Forms;%0A%0Apublic class Stacking implements MassTransfer %7B%0A%09private IndustrialMaterial solid;%0A%09private Form unstacked, stacked;%0A%09%0A%09protected Stacking(IndustrialMaterial solid) %7B%0A%09%09this.solid = solid;%0A%09%7D%0A%09%0A%09public IndustrialMaterial getSolid() %7B%0A%09%09return solid;%0A%09%7D%0A%09%0A%09@Override%0A%09public Conversion.Type getType() %7B%0A%09%09return null;%0A%09%7D%0A%0A%09@Override%0A%09public List%3CMaterialStoich%3C?%3E%3E getInputs() %7B%0A%09%09return Collections.singletonList(MaterialStoich.of(State.SOLID.of(solid)));%0A%09%7D%0A%0A%09@Override%0A%09public List%3CMaterialStoich%3C?%3E%3E getOutputs() %7B%0A%09%09return this.getInputs();%0A%09%7D%0A%0A%09public Stacking from(Form unstacked) %7B%0A%09%09this.unstacked = unstacked;%0A%09%09return this;%0A%09%7D%0A%09%0A%09public Stacking to(Form stacked) %7B%0A%09%09this.stacked = stacked;%0A%09%09return this;%0A%09%7D%0A%0A%09public Form getUnstackedForm() %7B%0A%09%09return unstacked;%0A%09%7D%0A%0A%09public Form getStackedForm() %7B%0A%09%09return stacked;%0A%09%7D%0A%0A%09public static Stacking of(IndustrialMaterial solid) %7B%0A%09%09return new Stacking(solid);%0A%09%7D%0A%0A%09public static interface Type extends MassTransfer.Type %7B%0A%09%09Form getUnstackedForm();%0A%09%09Form getStackedForm();%0A%09%7D%0A%09%0A%09public static enum Types implements Type %7B%0A%09%09DUST_TINY_TO_DUST(Forms.DUST_TINY, Forms.DUST),%0A%09%09DUST_IMPURE_TINY_TO_DUST_IMPURE(Forms.DUST_IMPURE_TINY, Forms.DUST_IMPURE),%0A%09%09NUGGET_TO_INGOT(Forms.NUGGET, Forms.INGOT),%0A%09%09INGOT_TO_BLOCK(Forms.INGOT, Forms.BLOCK),%0A%09%09LUMP_TO_BLOCK(Forms.LUMP, Forms.BLOCK),%0A%09%09PILE_TO_BLOCK(Forms.PILE, Forms.BLOCK);%0A%09%09%0A%09%09private Form unstacked, stacked;%0A%09%09%0A%09%09private Types(Form unstacked, Form stacked) %7B%0A%09%09%09this.unstacked = unstacked;%0A%09%09%09this.stacked = stacked;%0A%09%09%7D%0A%09%09%0A%09%09@Override%0A%09%09public Form getUnstackedForm() %7B%0A%09%09%09return this.unstacked;%0A%09%09%7D%0A%09%09%0A%09%09@Override%0A%09%09public Form getStackedForm() %7B%0A%09%09%09return this.stacked;%0A%09%09%7D%0A%09%7D%0A%7D%0A

add Stacking