package org.pfaa.chemica.processing;

public interface Form {
	public enum Forms implements Form {
		BLOCK(1), // intact solid placeable as block, constructed from 9 ingots/lumps, 4 clumps, or cast directly
		CLUMP(4), // a compact lump, typically from a malleable solid like dirt or clay
		INGOT(9), // intact solid in regular shape, from sintering powder or casting, or dismantling blocks
		LUMP(9), // intact solid in irregular shape, found naturally
		NUGGET(9*9), // metal in irregular, natural form; can be combined into (or broken down from) ingot
		POWDER(9); // dry solid as fine particles, from pulverizing ingots and lumps, precipitation
		
		private int numberPerBlock;
		
		private Forms(int numberPerBlock) {
			this.setNumberPerBlock(numberPerBlock);
		}

		public int getNumberPerBlock() {
			return numberPerBlock;
		}

		private void setNumberPerBlock(int numberPerBlock) {
			this.numberPerBlock = numberPerBlock;
		}
	}
}

@@ -35,31 +35,128 @@
 g;%0A%0A
-public interface Form %7B
+import com.google.common.base.CaseFormat;%0A%0Apublic interface Form %7B%0A%09public String name();%0A%09public String oreDictKey();%0A%09
 %0A%09pu
@@ -379,16 +379,188 @@
 or clay%0A
+%09%09CRUSHED(2), // the result of crushing a block, further crushing yields powder%0A%09%09DUST(9), // dry solid as fine particles, from pulverizing ingots and lumps, precipitation%0A
 %09%09INGOT(
@@ -824,98 +824,95 @@
 %0A%09%09P
-OWDER(9); // dry solid as fine particles, from pulverizing ingots and lumps, precipitation
+ILE(4), // like a clump, except loose%0A%09%09TINY_DUST(9*9); // dust from pulverizing nugget
 %0A%09%09%0A

add crushed, pile, tiny dust, (powder=>dust) forms