package JAKJ . RedstoneInMotion ;

public abstract class Recipes
{
	public static void Register ( )
	{
		RegisterSimpleItemRecipes ( ) ;

		RegisterToolItemRecipes ( ) ;

		RegisterCarriageRecipes ( ) ;

		RegisterCarriageDriveRecipes ( ) ;

		Registry . RegisterCustomRecipe ( new CarriageDecorationRecipe ( ) ) ;

		Registry . RegisterCustomRecipe ( new CarriageTranslocatorLabelRecipe ( ) ) ;
	}

	public static void RegisterSimpleItemRecipes ( )
	{
		Registry . RegisterShapelessRecipe
		(
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,

			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel )
		) ;

		Registry . RegisterCustomRecipe ( new net . minecraftforge . oredict . ShapedOreRecipe
		(
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageCrosspiece ) ,

			"S S" , " S " , "S S" ,

			'S' , "stickWood"
		) ) ;

		Registry . RegisterCustomRecipe ( new net . minecraftforge . oredict . ShapedOreRecipe
		(
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriagePanel ) ,

			"SSS" , "SCS" , "SSS" ,

			'S' , "stickWood" ,
			'C' , Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageCrosspiece )
		) ) ;
	}

	public static void RegisterToolItemRecipes ( )
	{
		Registry . RegisterShapedRecipe
		(
			Stack . New ( Items . ToolItemSet , ToolItemSet . Types . Screwdriver ) ,

			" I " , " I " , "LSL" ,

			'I' , Stack . New ( net . minecraft . item . Item . ingotIron ) ,
			'S' , Stack . New ( net . minecraft . block . Block . cobblestone ) ,
			'L' , Stack . New ( net . minecraft . item . Item . leather )
		) ;
	}

	public static void RegisterCarriageRecipe ( Carriage . Types CarriageType , String DyeType )
	{
		Registry . RegisterCustomRecipe ( new net . minecraftforge . oredict . ShapelessOreRecipe
		(
			Stack . New ( Blocks . Carriage , CarriageType , 8 ) ,

			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,
			Stack . New ( Items . SimpleItemSet , SimpleItemSet . Types . CarriageFramework ) ,

			DyeType
		) ) ;
	}

	public static void RegisterCarriageRecipes ( )
	{
		RegisterCarriageRecipe ( Carriage . Types . Frame , "dyeOrange" ) ;

		RegisterCarriageRecipe ( Carriage . Types . Platform , "dyeBlue" ) ;

		RegisterCarriageRecipe ( Carriage . Types . Structure , "dyeYellow" ) ;

		RegisterCarriageRecipe ( Carriage . Types . Support , "dyeLime" ) ;

		RegisterCarriageRecipe ( Carriage . Types . Template , "dyePurple" ) ;
	}

	public static void RegisterCarriageDriveRecipes ( )
	{
		Registry . RegisterShapedRecipe
		(
			Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Motor ) ,

			"RFR" , "FIF" , "RFR" ,

			'R' , Stack . New ( net . minecraft . block . Block . blockRedstone ) ,
			'F' , Stack . New ( net . minecraft . block . Block . furnaceIdle ) ,
			'I' , Stack . New ( net . minecraft . block . Block . blockIron )
		) ;

		Registry . RegisterShapedRecipe
		(
			Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Engine ) ,

			"TTT" , "TMT" , "TTT" ,

			'M' , Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Motor ) ,
			'T' , Stack . New ( net . minecraft . block . Block . torchRedstoneActive )
		) ;

		Registry . RegisterShapedRecipe
		(
			Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Translocator ) ,

			"OOO" , "OEO" , "PCP" ,

			'E' , Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Engine ) ,
			'O' , Stack . New ( net . minecraft . block . Block . obsidian ) ,
			'P' , Stack . New ( net . minecraft . item . Item . enderPearl ) ,
			'C' , Stack . New ( net . minecraft . item . Item . compass )
		) ;

		if ( ModInteraction . CarriageControllerClass != null )
		{
			Registry . RegisterShapedRecipe
			(
				Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Controller ) ,

				"RRR" , "RMR" , "RRR" ,

				'R' , Stack . New ( net . minecraft . item . Item . redstoneRepeater ) ,
				'M' , Stack . New ( Blocks . CarriageDrive , CarriageDrive . Types . Motor )
			) ;
		}
	}
}
