package net.alcuria.umbracraft.definitions.component;

/** Defines a component
 * @author Andrew Keturi */
public class ComponentDefinition {
	/** The component name */
	public String name;
	/** A first parameter */
	public String param1;
	/** A second parameter */
	public String param2;
	/** A third parameter */
	public String param3;
	/** A fourth parameter */
	public String param4;
}

@@ -48,16 +48,508 @@
 onent;%0A%0A
+import net.alcuria.umbracraft.engine.components.AnimationCollectionComponent;%0Aimport net.alcuria.umbracraft.engine.components.AnimationComponent;%0Aimport net.alcuria.umbracraft.engine.components.DirectedInputComponent;%0Aimport net.alcuria.umbracraft.engine.components.EntityCollisionComponent;%0Aimport net.alcuria.umbracraft.engine.components.MapCollisionComponent;%0Aimport net.alcuria.umbracraft.engine.components.ScriptComponent;%0Aimport net.alcuria.umbracraft.engine.entities.ShadowComponent;%0A%0A
 /** Defi
@@ -554,16 +554,23 @@
 fines a 
+simple 
 componen
@@ -570,16 +570,17 @@
 omponent
+.
 %0A * @aut
@@ -644,30 +644,241 @@
 /** 
-The component nam
+Defines the %7B@link AnimationCollectionComponent%7D for an entity.%0A%09 * @author Andrew Keturi */%0A%09public static class AnimationCollectionComponentDefinition extends ComponentDefinition %7B%0A%09%09/** The AnimationCollectionComponent to us
 e */%0A
+%09
 %09pub
@@ -892,40 +892,250 @@
 ing 
-name;%0A%09/** A first parameter
+animationCollectionComponent;%0A%09%7D%0A%0A%09/** Defines the %7B@link AnimationComponent%7D for an entity.%0A%09 * @author Andrew Keturi */%0A%09public static class AnimationComponentDefinition extends ComponentDefinition %7B%0A%09%09/** The AnimationComponent to use
  */%0A
+%09
 %09pub
@@ -1149,138 +1149,933 @@
 ing 
-param1;%0A%09/** A second parameter */%0A%09public String param2;%0A%09/** A third parameter */%0A%09public String param3;%0A%09/** A fourth parameter
+animationComponent;%0A%09%7D%0A%0A%09/** Defines the %7B@link DirectedInputComponent%7D for an entity. */%0A%09public static class DirectedInputComponentDefinition extends ComponentDefinition %7B%0A%09%7D%0A%0A%09/** Defines the %7B@link EntityCollisionComponent%7D for an entity. */%0A%09public static class EntityCollisionComponentDefinition extends ComponentDefinition %7B%0A%09%7D%0A%0A%09/** Defines the %7B@link MapCollisionComponent%7D for an entity. */%0A%09public static class MapCollisionComponentDefinition extends ComponentDefinition %7B%0A%09%09/** The height of the collision component */%0A%09%09public int height;%0A%09%09/** The width of the collision component */%0A%09%09public int width;%0A%09%7D%0A%0A%09/** Defines the %7B@link ScriptComponent%7D for an entity. */%0A%09public static class ScriptComponentDefinition extends ComponentDefinition %7B%0A%09%7D%0A%0A%09/** Defines the %7B@link ShadowComponent%7D for an entity. */%0A%09public static class ShadowComponentDefinition extends ComponentDefinition %7B%0A%09%7D%0A%0A%09/** The component name
  */%0A
@@ -2093,14 +2093,12 @@
 ing 
-param4
+name
 ;%0A%7D%0A

Add component definition subclasses