Jump to content

[1.7.2] java.lang.OutOfMemoryError when adding a bunch of recipes.


SackCastellon

Recommended Posts

I have the following problem, I'm trying to add more than... 500 new recipes to minecraft, but when i run minecraft i get this crash:

 


[20:08:18] [Client thread/INFO] [sKC Logger]: [sKC-BetterWood] Loading recipes.
[20:17:50] [Client thread/ERROR] [LaunchWrapper]: Unable to launch
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.7.0_25]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.7.0_25]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.7.0_25]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:134) [launchwrapper-1.9.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.9.jar:?]
Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded
at net.minecraft.crash.CrashReport.populateEnvironment(CrashReport.java:113) ~[CrashReport.class:?]
at net.minecraft.crash.CrashReport.<init>(CrashReport.java:57) ~[CrashReport.class:?]
at net.minecraft.crash.CrashReport.makeCrashReport(CrashReport.java:427) ~[CrashReport.class:?]
at net.minecraft.client.Minecraft.run(Minecraft.java:935) ~[Minecraft.class:?]
at net.minecraft.client.main.Main.main(Main.java:112) ~[Main.class:?]
... 6 more
Exception in thread "Client thread" java.lang.OutOfMemoryError: GC overhead limit exceeded

 

(As you can see on the crash it takes about 10 minutes to load to try to load the recipes, and then it crash)

 

This is my code:

 

package SackCastellon.betterwood.loader;

import java.util.Iterator;
import java.util.List;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import SackCastellon.betterwood.api.Blocks;
import SackCastellon.betterwood.api.Items;
import SackCastellon.betterwood.reference.Reference;
import SackCastellon.core.helper.LogHelper;
import cpw.mods.fml.common.registry.GameRegistry;

public class RecipeLoader
{
private static final int[] woodDamage = {0, 1, 2, 3, 4, 5};

public static void init()
{
	vanilla.init();
}

private static class vanilla
{
	private static void init()
	{
		remove();
		patch();

		/* Blocks */
		bookshelf();
		button();
		fence();
		fenceGate();
		pressurePlate();
		lever();
		torchOn();
		ladder();

		/* Items */
		sword();
		shovel();
		pickaxe();
		axe();
		hoe();
		bow();
	}

	@SuppressWarnings("unchecked")
	private static void remove()
	{
		List<IRecipe> recipe = CraftingManager.getInstance().getRecipeList();

		Iterator<IRecipe> r = recipe.iterator();
          
		while (r.hasNext()) {

			ItemStack is = r.next().getRecipeOutput();

			if (is != null && (
					is.getItem() == net.minecraft.init.Items.stick ||
					is.getItem() == net.minecraft.init.Items.wooden_door ||
					is.getItem() == net.minecraft.init.Items.bowl ||
					is.getItem() == net.minecraft.init.Items.wooden_sword ||
					is.getItem() == net.minecraft.init.Items.stone_sword ||
					is.getItem() == net.minecraft.init.Items.iron_sword ||
					is.getItem() == net.minecraft.init.Items.golden_sword ||
					is.getItem() == net.minecraft.init.Items.diamond_sword ||
					is.getItem() == net.minecraft.init.Items.wooden_shovel ||
					is.getItem() == net.minecraft.init.Items.stone_shovel ||
					is.getItem() == net.minecraft.init.Items.iron_shovel ||
					is.getItem() == net.minecraft.init.Items.golden_shovel ||
					is.getItem() == net.minecraft.init.Items.diamond_shovel ||
					is.getItem() == net.minecraft.init.Items.wooden_pickaxe ||
					is.getItem() == net.minecraft.init.Items.stone_pickaxe ||
					is.getItem() == net.minecraft.init.Items.iron_pickaxe ||
					is.getItem() == net.minecraft.init.Items.golden_pickaxe ||
					is.getItem() == net.minecraft.init.Items.diamond_pickaxe ||
					is.getItem() == net.minecraft.init.Items.wooden_axe ||
					is.getItem() == net.minecraft.init.Items.stone_axe ||
					is.getItem() == net.minecraft.init.Items.iron_axe ||
					is.getItem() == net.minecraft.init.Items.golden_axe ||
					is.getItem() == net.minecraft.init.Items.diamond_axe ||
					is.getItem() == net.minecraft.init.Items.wooden_hoe ||
					is.getItem() == net.minecraft.init.Items.stone_hoe ||
					is.getItem() == net.minecraft.init.Items.iron_hoe ||
					is.getItem() == net.minecraft.init.Items.golden_hoe ||
					is.getItem() == net.minecraft.init.Items.diamond_hoe ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.fence) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.fence_gate) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.ladder) ||
					is.getItem() == net.minecraft.init.Items.sign ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.rail) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.golden_rail) ||
					is.getItem() == net.minecraft.init.Items.fishing_rod ||
					is.getItem() == net.minecraft.init.Items.item_frame ||
					is.getItem() == net.minecraft.init.Items.painting ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.lever) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.tripwire) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.redstone_torch) ||
					is.getItem() == net.minecraft.init.Items.bow ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.wooden_button) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.wooden_pressure_plate) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.bookshelf) ||
					is.getItem() == Item.getItemFromBlock(net.minecraft.init.Blocks.lit_pumpkin)))
			{
				r.remove();
			}
		}
	}

	private static void patch()
	{
		for(int a = 0; a < 6; ++a){
		for(int b = 0; b < 6; ++b){
		for(int c = 0; c < 6; ++c){
		for(int d = 0; d < 6; ++d){
		for(int e = 0; e < 6; ++e){
		for(int f = 0; f < 6; ++f){

		//	LogHelper.info(Reference.ID, "Loading " + a + b + c + d + e + f + " of ");

			GameRegistry.addShapelessRecipe(new ItemStack(Items.Soup, 1, woodDamage[a]), new Object[] {new ItemStack(net.minecraft.init.Blocks.red_mushroom), new ItemStack(net.minecraft.init.Blocks.brown_mushroom), new ItemStack(Items.Bowl, 1, woodDamage[a])});

		// Stick //=======================================================================================================//

			if(a == b)
			{
				GameRegistry.addRecipe(new ItemStack(Items.Stick, 4, woodDamage[a]), new Object[] {"P", "P", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a])});
			}

			else
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stick, 4), new Object[] {"X", "S", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'S', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b])});
			}

		// Bowl //=======================================================================================================//

			if(a == b && a == c)
			{
		        GameRegistry.addRecipe(new ItemStack(Items.Bowl, 4, woodDamage[a]), new Object[] {"P P", " P ", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a])});
			}

			else
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.bowl, 4), new Object[] {"a b", " c ", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c])});
			}

		// Sword //=======================================================================================================//

			if(!(a == b))
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_sword), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
			}

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_sword), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_sword), new Object[] {"a", "a", "c", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'c', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_sword), new Object[] {"a", "a", "c", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'c', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_sword), new Object[] {"a", "a", "c", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'c', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_sword), new Object[] {"a", "a", "c", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'c', new ItemStack(net.minecraft.init.Items.stick)});

		// Shovel //=======================================================================================================//

			if(!(b == c))
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});
			}

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'b', new ItemStack(Items.Stick, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Items.stick)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_shovel), new Object[] {"a", "b", "c", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'b', new ItemStack(net.minecraft.init.Items.stick), 'c', new ItemStack(Items.Stick, 1, woodDamage[c])});

		// Pickaxe //=======================================================================================================//

			if(!(a == b && a == c) || !(d == e))
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_pickaxe), new Object[] {"abc", " d ", " e ", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_pickaxe), new Object[] {"aaa", " d ", " e ", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_pickaxe), new Object[] {"aaa", " d ", " e ", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_pickaxe), new Object[] {"aaa", " d ", " e ", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_pickaxe), new Object[] {"aaa", " d ", " e ", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
			}

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_pickaxe), new Object[] {"abc", " Z ", " X ", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_pickaxe), new Object[] {"abc", " X ", " Z ", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_pickaxe), new Object[] {"abc", " X ", " X ", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_pickaxe), new Object[] {"aaa", " Z ", " X ", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_pickaxe), new Object[] {"aaa", " X ", " Z ", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.stone_pickaxe), new Object[] {"aaa", " X ", " X ", 'a', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'X', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_pickaxe), new Object[] {"aaa", " Z ", " X ", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_pickaxe), new Object[] {"aaa", " X ", " Z ", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.iron_pickaxe), new Object[] {"aaa", " X ", " X ", 'a', new ItemStack(net.minecraft.init.Items.iron_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_pickaxe), new Object[] {"aaa", " Z ", " X ", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_pickaxe), new Object[] {"aaa", " X ", " Z ", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.golden_pickaxe), new Object[] {"aaa", " X ", " X ", 'a', new ItemStack(net.minecraft.init.Items.gold_ingot), 'X', new ItemStack(net.minecraft.init.Items.stick)});

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_pickaxe), new Object[] {"aaa", " Z ", " X ", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_pickaxe), new Object[] {"aaa", " X ", " Z ", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.diamond_pickaxe), new Object[] {"aaa", " X ", " X ", 'a', new ItemStack(net.minecraft.init.Items.diamond), 'X', new ItemStack(net.minecraft.init.Items.stick)});

		// Axe //=======================================================================================================//

			if(!(a == b && a == c) || !(d == e))
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_axe), new Object[] {"ab", "cd", " e", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'd', new ItemStack(Items.Stick, 1, woodDamage[d]), 'e', new ItemStack(Items.Stick, 1, woodDamage[e])});
			}

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_axe), new Object[] {"ab", "cZ", " X", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_axe), new Object[] {"ab", "cX", " Z", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick), 'Z', new ItemStack(Items.Stick, 1, woodDamage[d])});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_axe), new Object[] {"ab", "cX", " X", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'X', new ItemStack(net.minecraft.init.Items.stick)});

		// Door //=======================================================================================================//

			if(a == b && a == c && a == d && a == e && a == f)
			{
				GameRegistry.addRecipe(new ItemStack(Items.Door, 1, woodDamage[a]), new Object[] {"XX", "XX", "XX", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a])});
			}

			else
			{
				GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.wooden_door, 1), new Object[] {"ab", "cd", "ef", 'a', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[a]), 'b', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[b]), 'c', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[c]), 'd', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[d]), 'e', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[e]), 'f', new ItemStack(net.minecraft.init.Blocks.planks, 1, woodDamage[f])});
			}

		//=======================================================================================================//

			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Blocks.activator_rail, 6), new Object[] {"XSX", "X#X", "XSX", 'X', net.minecraft.init.Items.iron_ingot, '#', net.minecraft.init.Blocks.redstone_torch, 'S', new ItemStack(Items.Stick, 1, a)});
			GameRegistry.addRecipe(new ItemStack(net.minecraft.init.Items.fishing_rod, 1), new Object[] {"  #", " #X", "# X", '#', new ItemStack(Items.Stick, 1, a), 'X', net.minecraft.init.Items.string});
	}
	}
	}
	}
	}
	}
	}

	private static void bookshelf()
	{
        GameRegistry.addRecipe(new ItemStack(Blocks.OakBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'B', net.minecraft.init.Items.book});
        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'B', net.minecraft.init.Items.book});
        GameRegistry.addRecipe(new ItemStack(Blocks.BirchBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'B', net.minecraft.init.Items.book});
        GameRegistry.addRecipe(new ItemStack(Blocks.JungleBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'B', net.minecraft.init.Items.book});
        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'B', net.minecraft.init.Items.book});
        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakBookshelf, 1), new Object[] {"PPP", "BBB", "PPP", 'P', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'B', net.minecraft.init.Items.book});
	}

	private static void button()
	{
		GameRegistry.addRecipe(new ItemStack(Blocks.OakButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Blocks.SpruceButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Blocks.BirchButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Blocks.JungleButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakButton, 1), new Object[] {"W", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5)});
	}

	private static void fence()
	{
        GameRegistry.addRecipe(new ItemStack(Blocks.OakFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 0)});
        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 1)});
        GameRegistry.addRecipe(new ItemStack(Blocks.BirchFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 2)});
        GameRegistry.addRecipe(new ItemStack(Blocks.JungleFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 3)});
        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 4)});
        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakFence, 2), new Object[] {"###", "###", '#', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void fenceGate()
	{
        GameRegistry.addRecipe(new ItemStack(Blocks.OakFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 0), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0)});
        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 1), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1)});
        GameRegistry.addRecipe(new ItemStack(Blocks.BirchFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 2), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2)});
        GameRegistry.addRecipe(new ItemStack(Blocks.JungleFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 3), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3)});
        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 4), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4)});
        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakFenceGate), new Object[] {"ZXZ", "ZXZ", 'Z', new ItemStack(Items.Stick, 1, 5), 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5)});
	}

	private static void pressurePlate()
	{
		GameRegistry.addRecipe(new ItemStack(Blocks.OakPressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Blocks.SprucePressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Blocks.BirchPressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Blocks.JunglePressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaPressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakPressurePlate), new Object[] {"WW", 'W', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5)});
	}

	private static void lever()
	{
        GameRegistry.addRecipe(new ItemStack(Blocks.OakLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 0), '#', net.minecraft.init.Blocks.cobblestone});
        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 1), '#', net.minecraft.init.Blocks.cobblestone});
        GameRegistry.addRecipe(new ItemStack(Blocks.BirchLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 2), '#', net.minecraft.init.Blocks.cobblestone});
        GameRegistry.addRecipe(new ItemStack(Blocks.JungleLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 3), '#', net.minecraft.init.Blocks.cobblestone});
        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 4), '#', net.minecraft.init.Blocks.cobblestone});
        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakLever), new Object[] {"X", "#", 'X', new ItemStack(Items.Stick, 1, 5), '#', net.minecraft.init.Blocks.cobblestone});
	}

	private static void torchOn()
	{
		for(int i = 0; i < 2; ++i)
		{
	        GameRegistry.addRecipe(new ItemStack(Blocks.OakTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 0)});
	        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 1)});
	        GameRegistry.addRecipe(new ItemStack(Blocks.BirchTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 2)});
	        GameRegistry.addRecipe(new ItemStack(Blocks.JungleTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 3)});
	        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 4)});
	        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakTorchOn, 4), new Object[] {"C", "S", 'C', new ItemStack(net.minecraft.init.Items.coal, 1, i), 'S', new ItemStack(Items.Stick, 1, 5)});
		}
	}

	private static void ladder()
	{
        GameRegistry.addRecipe(new ItemStack(Blocks.OakLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 0)});
        GameRegistry.addRecipe(new ItemStack(Blocks.SpruceLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 1)});
        GameRegistry.addRecipe(new ItemStack(Blocks.BirchLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 2)});
        GameRegistry.addRecipe(new ItemStack(Blocks.JungleLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 3)});
        GameRegistry.addRecipe(new ItemStack(Blocks.AcaciaLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 4)});
        GameRegistry.addRecipe(new ItemStack(Blocks.DarkOakLadder, 3), new Object[] {"X X", "XXX", "X X", 'X', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void sword()
	{
		GameRegistry.addRecipe(new ItemStack(Items.OakOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.OakSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.OakBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.OakJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.OakAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.OakDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.SpruceOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.BirchOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.JungleOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.AcaciaOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.DarkOakOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.StoneOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.IronOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.IronSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.IronBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.IronJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.IronAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.IronDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.GoldOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.DiamondOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondSpruceSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondBirchSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondJungleSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondAcaciaSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondDarkOakSword), new Object[] {"X", "X", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void shovel()
	{
		GameRegistry.addRecipe(new ItemStack(Items.OakOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.OakSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.OakBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.OakJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.OakAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.OakDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.SpruceOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.BirchOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.JungleOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.AcaciaOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.DarkOakOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.StoneOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.IronOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.IronSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.IronBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.IronJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.IronAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.IronDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.GoldOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.DiamondOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondSpruceShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondBirchShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondJungleShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondAcaciaShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondDarkOakShovel), new Object[] {"X", "Y", "Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void pickaxe()
	{
		GameRegistry.addRecipe(new ItemStack(Items.OakOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.OakSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.OakBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.OakJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.OakAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.OakDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.SpruceOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.BirchOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.JungleOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.AcaciaOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.DarkOakOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.StoneOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.IronOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.IronSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.IronBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.IronJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.IronAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.IronDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.GoldOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.DiamondOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondSprucePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondBirchPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondJunglePickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondAcaciaPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondDarkOakPickaxe), new Object[] {"XXX", " Y ", " Y ", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void axe()
	{
		GameRegistry.addRecipe(new ItemStack(Items.OakOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.OakSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.OakBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.OakJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.OakAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.OakDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.SpruceOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.BirchOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.JungleOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.AcaciaOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.DarkOakOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.StoneOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.IronOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.IronSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.IronBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.IronJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.IronAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.IronDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.GoldOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.DiamondOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondSpruceAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondBirchAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondJungleAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondAcaciaAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondDarkOakAxe), new Object[] {"XX", "XY", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void hoe()
	{
		GameRegistry.addRecipe(new ItemStack(Items.OakOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.OakSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.OakBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.OakJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.OakAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.OakDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 0), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.SpruceOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.SpruceDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 1), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.BirchOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.BirchDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 2), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.JungleOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.JungleDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 3), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.AcaciaOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.AcaciaDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 4), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.DarkOakOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DarkOakDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.planks, 1, 5), 'Y', new ItemStack(Items.Stick, 1, 5)});


		GameRegistry.addRecipe(new ItemStack(Items.StoneOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.StoneDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Blocks.cobblestone), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.IronOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.IronSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.IronBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.IronJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.IronAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.IronDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.iron_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.GoldOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.GoldDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.gold_ingot), 'Y', new ItemStack(Items.Stick, 1, 5)});

		GameRegistry.addRecipe(new ItemStack(Items.DiamondOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 0)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondSpruceHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 1)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondBirchHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 2)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondJungleHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 3)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondAcaciaHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 4)});
		GameRegistry.addRecipe(new ItemStack(Items.DiamondDarkOakHoe), new Object[] {"XX", " Y", " Y", 'X', new ItemStack(net.minecraft.init.Items.diamond), 'Y', new ItemStack(Items.Stick, 1, 5)});
	}

	private static void bow()
	{	
        GameRegistry.addRecipe(new ItemStack(Items.SpruceBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 0)});
        GameRegistry.addRecipe(new ItemStack(Items.SpruceBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 1)});
        GameRegistry.addRecipe(new ItemStack(Items.BirchBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 2)});
        GameRegistry.addRecipe(new ItemStack(Items.JungleBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 3)});
        GameRegistry.addRecipe(new ItemStack(Items.AcaciaBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 4)});
        GameRegistry.addRecipe(new ItemStack(Items.DarkOakBow, 1), new Object[] {" #X", "# X", " #X", 'X', new ItemStack(net.minecraft.init.Items.string), '#', new ItemStack(Items.Stick, 1, 5)});
	}
}
}

 

 

I know the problem, which causes the crash, is created by this part of the code:

 

for(int a = 0; a < 6; ++a){
for(int b = 0; b < 6; ++b){
for(int c = 0; c < 6; ++c){
for(int d = 0; d < 6; ++d){
for(int e = 0; e < 6; ++e){
for(int f = 0; f < 6; ++f){

 

Well. Knowing this, here is my question:

 

Is there any way to create a code which would do the same function as the code is just above?

By the way it could ran without crash...

 

(I hope you understood me  :) )

 

Thanks for helping

Link to comment
Share on other sites

Use the ore dictionary.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

ironCopper

 

Huh?

 

But to answer the question: yes, you can.  But you probably shouldn't.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

The reason not to is because mods will want to distinguish copper and iron.

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Well, like Draco's said. If you overload the same varItemStack then you're taking compatibility away from mods that may use the same names. You're example of sticks makes me immediately think of Tinkerer's Construct.

 

The more items you add to a single name greatly diminishes your mod's compatibility with other mods.

 

If you want recipes to have several variants, you should just type out the variant recipes. Instead of merging item types.

Link to comment
Share on other sites

Well, like Draco's said. If you overload the same varItemStack then you're taking compatibility away from mods that may use the same names. You're example of sticks makes me immediately think of Tinkerer's Construct.

 

The more items you add to a single name greatly diminishes your mod's compatibility with other mods.

 

If you want recipes to have several variants, you should just type out the variant recipes. Instead of merging item types.

 

The idea was to find an easier way to add more than 500 without write one line of code per recipe, for example using

for(int x = 0; x < 6; ++x)

(becasuse I have some metadata items)

but if I use that, I will get the problem I mentioned above... (first post)

 

So hava somebody any other solution?

Link to comment
Share on other sites

I guess what i was trying to say is that you could write a loop for all similar recipes that use different item types. If I understand the question correctly, couldn't you put all the like-materials into an array and just increment through it as you increment through the nested loop?

 

Edit: After re-reading your post, I think this is what you're already attempting.

Link to comment
Share on other sites

Hi

 

If I understand your code right, this fragment here

for(int a = 0; a < 6; ++a){
for(int b = 0; b < 6; ++b){
for(int c = 0; c < 6; ++c){
for(int d = 0; d < 6; ++d){
for(int e = 0; e < 6; ++e){
for(int f = 0; f < 6; ++f){

 

will iterate a total of 6*6*6*6*6*6 = 46656 times

and you are adding a whole heap of recipes on every single iteration

 

You could perhaps change the code to just create each recipe once instead of thousands of times, but I think GotoLink's suggestion is a much better idea.

 

-TGG

 

 

 

Link to comment
Share on other sites

(becasuse I have some metadata items)

 

So hava somebody any other solution?

 

OreDict recipes.

 

GameRegistry.addRecipe(new ShapedOreRecipe(new ItemStack(whatevs), " r ", " s ", "   ", 's', "stone", 'r', new ItemStack(Item.redstone)));

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • The game crashed whilst unexpected error Error: java.lang.ClassCastException: class twilightforest.entity.boss.NagaSegment cannot be cast to class net.minecraft.world.entity.Mob (twilightforest.entity.boss.NagaSegment is in module [email protected] of loader 'TRANSFORMER' @68f1b89; net.minecraft.world.entity.Mob is in module [email protected] of loader 'TRANSFORMER' @68f1b89)
    • ---- Minecraft Crash Report ---- // I let you down. Sorry Time: 2024-05-10 22:27:32 Description: Exception in server tick loop java.lang.NoSuchFieldError: INSTANCE     at com.lowdragmc.lowdraglib.gui.widget.custom.PlayerInventoryWidget.initWidget(PlayerInventoryWidget.java:63) ~[ldlib-forge-1.20.1-1.0.24.b.jar%23597!/:?] {re:classloading}     at com.lowdragmc.lowdraglib.gui.widget.WidgetGroup.initWidget(WidgetGroup.java:329) ~[ldlib-forge-1.20.1-1.0.24.b.jar%23597!/:?] {re:classloading,pl:runtimedistcleaner:A}     at com.gregtechceu.gtceu.api.gui.fancy.FancyMachineUIWidget.initWidget(FancyMachineUIWidget.java:82) ~[gtceu-1.20.1-1.1.4.a.jar%23431!/:?] {re:classloading}     at com.lowdragmc.lowdraglib.gui.widget.WidgetGroup.initWidget(WidgetGroup.java:329) ~[ldlib-forge-1.20.1-1.0.24.b.jar%23597!/:?] {re:classloading,pl:runtimedistcleaner:A}     at com.lowdragmc.lowdraglib.gui.modular.ModularUI.initWidgets(ModularUI.java:205) ~[ldlib-forge-1.20.1-1.0.24.b.jar%23597!/:?] {re:classloading,pl:runtimedistcleaner:A}     at com.lowdragmc.lowdraglib.gui.factory.UIFactory.openUI(UIFactory.java:41) ~[ldlib-forge-1.20.1-1.0.24.b.jar%23597!/:?] {re:classloading,pl:runtimedistcleaner:A}     at com.gregtechceu.gtceu.api.machine.feature.IUIMachine.tryToOpenUI(IUIMachine.java:26) ~[gtceu-1.20.1-1.1.4.a.jar%23431!/:?] {re:classloading}     at com.gregtechceu.gtceu.api.block.MetaMachineBlock.m_6227_(MetaMachineBlock.java:271) ~[gtceu-1.20.1-1.1.4.a.jar%23431!/:?] {re:mixin,re:classloading}     at net.minecraft.world.level.block.state.BlockBehaviour$BlockStateBase.m_60664_(BlockBehaviour.java:778) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-common.mixins.json:bugfix.chunk_deadlock.BlockStateBaseMixin,pl:mixin:APP:kubejs-common.mixins.json:BlockStateBaseMixin,pl:mixin:APP:modernfix-common.mixins.json:perf.reduce_blockstate_cache_rebuilds.BlockStateBaseMixin,pl:mixin:APP:framedblocks.mixin.json:MixinBlockStateBase,pl:mixin:APP:crafttweaker.mixins.json:common.access.block.AccessBlockStateBase,pl:mixin:APP:ferritecore.blockstatecache.mixin.json:BlockStateBaseMixin,pl:mixin:A}     at net.minecraft.server.level.ServerPlayerGameMode.m_7179_(ServerPlayerGameMode.java:343) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:computing_frames,pl:accesstransformer:B,xf:fml:libx:interact,re:classloading,pl:accesstransformer:B,xf:fml:libx:interact}     at net.minecraft.server.network.ServerGamePacketListenerImpl.m_6371_(ServerGamePacketListenerImpl.java:1057) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:APP:modernfix-forge.mixins.json:bugfix.forge_vehicle_packets.ServerGamePacketListenerImplMixin,pl:mixin:APP:forgivingvoid.mixins.json:ServerGamePacketListenerImplAccessor,pl:mixin:APP:badpackets.mixins.json:MixinServerGamePacketListenerImpl,pl:mixin:APP:littletiles.mixins.json:server.network.ServerGamePacketListenerImplAccessor,pl:mixin:APP:littletiles.mixins.json:server.network.ServerGamePacketListenerImplMixin,pl:mixin:A}     at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.m_5797_(ServerboundUseItemOnPacket.java:34) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:classloading}     at net.minecraft.network.protocol.game.ServerboundUseItemOnPacket.m_5797_(ServerboundUseItemOnPacket.java:8) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:classloading}     at net.minecraft.network.protocol.PacketUtils.m_263899_(PacketUtils.java:22) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:classloading}     at net.minecraft.server.TickTask.run(TickTask.java:18) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:classloading}     at net.minecraft.util.thread.BlockableEventLoop.m_6367_(BlockableEventLoop.java:156) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.util.thread.ReentrantBlockableEventLoop.m_6367_(ReentrantBlockableEventLoop.java:23) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,re:computing_frames,re:classloading}     at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:770) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_6367_(MinecraftServer.java:161) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.util.thread.BlockableEventLoop.m_7245_(BlockableEventLoop.java:130) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.MinecraftServer.m_129961_(MinecraftServer.java:753) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_7245_(MinecraftServer.java:747) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.util.thread.BlockableEventLoop.m_18699_(BlockableEventLoop.java:115) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:computing_frames,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B}     at net.minecraft.server.MinecraftServer.m_130012_(MinecraftServer.java:732) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_130011_(MinecraftServer.java:665) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at net.minecraft.server.MinecraftServer.m_206580_(MinecraftServer.java:251) ~[server-1.20.1-20230612.114412-srg.jar%23545!/:?] {re:mixin,pl:accesstransformer:B,re:classloading,pl:accesstransformer:B,pl:mixin:A}     at java.lang.Thread.run(Thread.java:842) ~[?:?] {re:mixin} A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows Server 2012 R2 (amd64) version 6.3     Java Version: 17.0.11, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode, sharing), Oracle Corporation     Memory: 2241454856 bytes (2137 MiB) / 4081057792 bytes (3892 MiB) up to 5368709120 bytes (5120 MiB)     CPUs: 4     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 9 7950X 16-Core Processor                 Identifier: AuthenticAMD Family 25 Model 97 Stepping 2     Microarchitecture: Zen 3     Frequency (GHz): 4.50     Number of physical packages: 1     Number of physical CPUs: 4     Number of logical CPUs: 4     Graphics card #0 name: Microsoft 基本显示适配器     Graphics card #0 vendor: (标准显示卡类型) (0x1234)     Graphics card #0 VRAM (MB): 0.00     Graphics card #0 deviceId: 0x1111     Graphics card #0 versionInfo: DriverVersion=6.3.9600.16384     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 0.00     Memory slot #0 type: RAM     Virtual memory max (MB): 13567.47     Virtual memory used (MB): 5472.03     Swap memory total (MB): 5376.00     Swap memory used (MB): 0.00     JVM Flags: 2 total; -Xmx5G -Xms3G     Server Running: true     Player Count: 1 / 20; [ServerPlayer['NYDIXIA'/27, l='ServerLevel[新的世界]', x=2.95, y=65.00, z=9.10]]     Data Packs: vanilla, mod:ftbessentials (incompatible), mod:supermartijn642configlib (incompatible), mod:simplemagnets, mod:nerb (incompatible), mod:modnametooltip (incompatible), mod:cardboardboxes, mod:neat, mod:laserio (incompatible), mod:modernfix (incompatible), mod:maxhealthfix (incompatible), mod:wstweaks (incompatible), mod:shrink (incompatible), mod:forgivingvoid, mod:darkutils (incompatible), mod:apotheosis (incompatible), mod:ldlib (incompatible), mod:unbreakable_netherite, mod:balm, mod:travelboots, mod:jeresources, mod:cloth_config (incompatible), mod:shetiphiancore, mod:emojiful (incompatible), mod:embeddium, mod:easy_piglins, mod:corpse, mod:glodium (incompatible), mod:ex_hammers, mod:torchmaster, mod:bettertags, mod:botanytrees (incompatible), mod:supermartijn642corelib, mod:resourcefulconfig (incompatible), mod:spark (incompatible), mod:curios (incompatible), mod:searchables (incompatible), mod:advgenerators, mod:measurements, mod:framedblocks, mod:attributeslib (incompatible), mod:angelring, mod:angelblockrenewed (incompatible), mod:constructionwand, mod:laboratoryblocks (incompatible), mod:itemphysic, mod:jadeaddons (incompatible), mod:lava_source, mod:infiniverse (incompatible), mod:cobblefordays (incompatible), mod:fastleafdecay, mod:antiblocksrechiseled, mod:infinite_blocks, mod:kiwi (incompatible), mod:clienttweaks, mod:stylisheffects, mod:nomowanderer (incompatible), mod:doubledoors, mod:watersources, mod:rechiseled (incompatible), mod:attributefix (incompatible), mod:tesseract, mod:bdlib, mod:naturescompass, mod:badpackets (incompatible), mod:libx, mod:botanypots (incompatible), mod:farmingforblockheads, mod:simplefluidgenerators, mod:fusion, mod:rfd (incompatible), mod:crafttweaker (incompatible), mod:edivadlib, mod:puzzlesaccessapi, mod:forge, mod:extractinator (incompatible), mod:capable_composters, mod:emi (incompatible), mod:flopper, mod:theoneprobe, mod:mousetweaks, mod:commonality, mod:justenoughbreeding (incompatible), mod:spectrelib (incompatible), mod:skyblockbuilder, mod:ding (incompatible), mod:domum_ornamentum, mod:kotlinforforge (incompatible), mod:jeiintegration (incompatible), mod:pipez, mod:notenoughanimations, mod:itemcollectors (incompatible), mod:polymorph (incompatible), mod:justenoughprofessions, mod:entityculling, mod:appleskin (incompatible), mod:connectedglass, mod:architectschisel, mod:rainshield, mod:puzzleslib, mod:hyperbox (incompatible), mod:textrues_embeddium_options (incompatible), mod:extremesoundmuffler, mod:cosmeticarmorreworked, mod:bedrockbreakers, mod:cyclopscore, mod:netherportalfix, mod:kleeslabs, mod:glassential (incompatible), mod:controlling (incompatible), mod:placebo (incompatible), mod:emi_loot (incompatible), mod:dankstorage (incompatible), mod:lootintegrations (incompatible), mod:mixinextras (incompatible), mod:emitrades (incompatible), mod:bookshelf, mod:buildguide, mod:lightingwand (incompatible), mod:jeed (incompatible), mod:clearvoid (incompatible), mod:mob_grinding_utils (incompatible), mod:farmersdelight, mod:dustrial_decor, mod:entangled, mod:endertanks, mod:saturatingitem, mod:wirelesschargers (incompatible), mod:exocraft, mod:simplylight (incompatible), mod:modelfix (incompatible), mod:easypaxellite (incompatible), mod:collective, mod:drawerstooltip (incompatible), mod:elevatorid, mod:ftbultimine (incompatible), mod:runelic, mod:resourcefullib (incompatible), mod:starterkit, mod:embeddiumextras (incompatible), mod:inventoryprofilesnext (incompatible), mod:architectury (incompatible), mod:doapi (incompatible), mod:vinery (incompatible), mod:ftblibrary (incompatible), mod:jecalculation, mod:jei, mod:bakery (incompatible), mod:squatgrow (incompatible), mod:ftbteams (incompatible), mod:brewery (incompatible), mod:aiimprovements, mod:cupboard (incompatible), mod:lightoverlay (incompatible), mod:trashcans (incompatible), mod:polylib, mod:observable (incompatible), mod:yeetusexperimentus (incompatible), mod:darkmodeeverywhere (incompatible), mod:betteradvancements (incompatible), mod:rhino (incompatible), mod:kubejs (incompatible), mod:trashslot, mod:craftingstation (incompatible), mod:quickstack (incompatible), mod:itemfilters (incompatible), mod:ftbquests (incompatible), mod:travelanchors, mod:waystones, mod:fastsuite (incompatible), mod:clumps (incompatible), mod:journeymap (incompatible), mod:comforts (incompatible), mod:framedcompactdrawers, mod:davebuildingmod, mod:dimstorage, mod:charginggadgets (incompatible), mod:gtceu, mod:mcjtylib, mod:rftoolsbase, mod:xnet, mod:signtastic, mod:explorerscompass, mod:waveycapes, mod:toastcontrol (incompatible), mod:ftbchunks (incompatible), mod:ftbxmodcompat (incompatible), mod:simple_resource_generators, mod:craftingtweaks, mod:rftoolsutility, mod:libipn (incompatible), mod:enchdesc (incompatible), mod:sebastrnlib, mod:appliedcooking, mod:cookingforblockheads, mod:patchouli (incompatible), mod:moonlight (incompatible), mod:labels (incompatible), mod:configuration, mod:toolbelt (incompatible), mod:titanium (incompatible), mod:jade (incompatible), mod:ae2 (incompatible), mod:merequester (incompatible), mod:ae2wtlib (incompatible), mod:megacells (incompatible), mod:expatternprovider (incompatible), mod:ae2things (incompatible), mod:creativecore, mod:packedup (incompatible), mod:enderio, mod:defaultworldtype, mod:easy_villagers, mod:dimpaintings, mod:polyeng (incompatible), mod:pigpen (incompatible), mod:storagedrawers (incompatible), mod:enderchests, mod:buildinggadgets2 (incompatible), mod:capable_cauldrons, mod:ferritecore (incompatible), mod:functionalstorage, mod:apexcore, mod:fantasyfurniture, mod:modularrouters (incompatible), mod:betterf3, mod:overloadedarmorbar (incompatible), mod:xtonesreworked (incompatible), mod:littletiles, bushy_leaves, gtceu:dynamic_data     Enabled Feature Flags: minecraft:vanilla     World Generation: Experimental     Is Modded: Definitely; Server brand changed to 'forge'     Type: Dedicated Server (map_server.txt)     ModLauncher: 10.0.9+10.0.9+main.dcd20f30     ModLauncher launch target: forgeserver     ModLauncher naming: srg     ModLauncher services:          mixin-0.8.5.jar mixin PLUGINSERVICE          eventbus-6.0.5.jar eventbus PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar slf4jfixer PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar object_holder_definalize PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar runtime_enum_extender PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar capability_token_subclass PLUGINSERVICE          accesstransformers-8.0.4.jar accesstransformer PLUGINSERVICE          fmlloader-1.20.1-47.2.0.jar runtimedistcleaner PLUGINSERVICE          modlauncher-10.0.9.jar mixin TRANSFORMATIONSERVICE          modlauncher-10.0.9.jar fml TRANSFORMATIONSERVICE      FML Language Providers:          [email protected]         javafml@null         [email protected]         lowcodefml@null         [email protected]     Mod List:          ftb-essentials-forge-2001.2.2.jar                 |FTB Essentials                |ftbessentials                 |2001.2.2            |DONE      |Manifest: NOSIGNATURE         supermartijn642configlib-1.1.8-forge-mc1.20.jar   |SuperMartijn642's Config Libra|supermartijn642configlib      |1.1.8               |DONE      |Manifest: NOSIGNATURE         simplemagnets-1.1.10-forge-mc1.20.jar             |Simple Magnets                |simplemagnets                 |1.1.10              |DONE      |Manifest: NOSIGNATURE         nerb-1.20.1-0.3-FORGE.jar                         |Not Enough Recipe Book        |nerb                          |0.3                 |DONE      |Manifest: NOSIGNATURE         modnametooltip-1.20.1-1.20.0.jar                  |Mod Name Tooltip              |modnametooltip                |1.20.0              |DONE      |Manifest: NOSIGNATURE         cardboardboxes-1.20-0.1.0.jar                     |[SBM] Cardboard Boxes         |cardboardboxes                |1.20-0.1.0          |DONE      |Manifest: NOSIGNATURE         Neat-1.20-35-FORGE.jar                            |Neat                          |neat                          |1.20-35-FORGE       |DONE      |Manifest: NOSIGNATURE         laserio-1.6.8.jar                                 |LaserIO                       |laserio                       |1.6.8               |DONE      |Manifest: NOSIGNATURE         modernfix-forge-5.15.0+mc1.20.1.jar               |ModernFix                     |modernfix                     |5.15.0+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         MaxHealthFix-Forge-1.20.1-12.0.2.jar              |MaxHealthFix                  |maxhealthfix                  |12.0.2              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         WitherSkeletonTweaks-1.20.1-9.1.0.jar             |Wither Skeleton Tweaks        |wstweaks                      |9.1.0               |DONE      |Manifest: NOSIGNATURE         Shrink-1.20.1-1.4.5.jar                           |Shrink                        |shrink                        |1.4.5               |DONE      |Manifest: NOSIGNATURE         forgivingvoid-forge-1.20-10.0.0.jar               |Forgiving Void                |forgivingvoid                 |10.0.0              |DONE      |Manifest: NOSIGNATURE         DarkUtilities-Forge-1.20.1-17.0.3.jar             |DarkUtilities                 |darkutils                     |17.0.3              |DONE      |Manifest: NOSIGNATURE         Apotheosis-1.20.1-7.3.4.jar                       |Apotheosis                    |apotheosis                    |7.3.4               |DONE      |Manifest: NOSIGNATURE         ldlib-forge-1.20.1-1.0.24.b.jar                   |LowDragLib                    |ldlib                         |1.0.24.b            |DONE      |Manifest: NOSIGNATURE         UnbreakableNetheriteJAR.jar                       |Unbreakable Netherite         |unbreakable_netherite         |1.0.0               |DONE      |Manifest: NOSIGNATURE         balm-forge-1.20.1-7.2.2.jar                       |Balm                          |balm                          |7.2.2               |DONE      |Manifest: NOSIGNATURE         TravelBootsJAR1.02.jar                            |Travel Boots                  |travelboots                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         JustEnoughResources-1.20.1-1.4.0.247.jar          |Just Enough Resources         |jeresources                   |1.4.0.247           |DONE      |Manifest: NOSIGNATURE         cloth-config-11.1.118-forge.jar                   |Cloth Config v10 API          |cloth_config                  |11.1.118            |DONE      |Manifest: NOSIGNATURE         shetiphiancore-forge-1.20.1-1.2.jar               |ShetiPhian-Core               |shetiphiancore                |1.20.1-1.2          |DONE      |Manifest: NOSIGNATURE         Emojiful-Forge-1.20.1-4.2.0.jar                   |Emojiful                      |emojiful                      |4.2.0               |DONE      |Manifest: NOSIGNATURE         embeddium-0.3.11+mc1.20.1.jar                     |Embeddium                     |embeddium                     |0.3.11+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         easy_piglins-1.20.1-1.0.1.jar                     |Easy Piglins                  |easy_piglins                  |1.20.1-1.0.1        |DONE      |Manifest: NOSIGNATURE         corpse-forge-1.20.1-1.0.12.jar                    |Corpse                        |corpse                        |1.20.1-1.0.12       |DONE      |Manifest: NOSIGNATURE         Glodium-1.20-1.4-forge.jar                        |Glodium                       |glodium                       |1.20-1.4-forge      |DONE      |Manifest: NOSIGNATURE         ExHammersJAR1.04.jar                              |Ex Hammers                    |ex_hammers                    |1.0.0               |DONE      |Manifest: NOSIGNATURE         torchmaster-20.1.5.jar                            |Torchmaster                   |torchmaster                   |20.1.5              |DONE      |Manifest: NOSIGNATURE         BetterTags-1.20.1-1.1.jar                         |Better Tags                   |bettertags                    |1.20.1-1.1          |DONE      |Manifest: NOSIGNATURE         BotanyTrees-Forge-1.20.1-9.0.11.jar               |BotanyTrees                   |botanytrees                   |9.0.11              |DONE      |Manifest: NOSIGNATURE         supermartijn642corelib-1.1.17-forge-mc1.20.1.jar  |SuperMartijn642's Core Lib    |supermartijn642corelib        |1.1.17              |DONE      |Manifest: NOSIGNATURE         resourcefulconfig-forge-1.20.1-2.1.2.jar          |Resourcefulconfig             |resourcefulconfig             |2.1.2               |DONE      |Manifest: NOSIGNATURE         spark-1.10.53-forge.jar                           |spark                         |spark                         |1.10.53             |DONE      |Manifest: NOSIGNATURE         curios-forge-5.7.2+1.20.1.jar                     |Curios API                    |curios                        |5.7.2+1.20.1        |DONE      |Manifest: NOSIGNATURE         Searchables-forge-1.20.1-1.0.2.jar                |Searchables                   |searchables                   |1.0.2               |DONE      |Manifest: NOSIGNATURE         advgenerators-1.6.0.6-mc1.20.1.jar                |Advanced Generators           |advgenerators                 |1.6.0.6             |DONE      |Manifest: NOSIGNATURE         Measurements-forge-1.20.1-2.0.0.jar               |Measurements                  |measurements                  |2.0.0               |DONE      |Manifest: NOSIGNATURE         FramedBlocks-9.2.1.jar                            |FramedBlocks                  |framedblocks                  |9.2.1               |DONE      |Manifest: NOSIGNATURE         ApothicAttributes-1.20.1-1.3.4.jar                |Apothic Attributes            |attributeslib                 |1.3.4               |DONE      |Manifest: NOSIGNATURE         AngelRing2-1.20.1-2.2.2.jar                       |Angel Ring 2                  |angelring                     |2.2.1               |DONE      |Manifest: NOSIGNATURE         angelblockrenewed-forge-1.3-1.20.jar              |Angel Block Renewed           |angelblockrenewed             |1.3                 |DONE      |Manifest: NOSIGNATURE         constructionwand-1.20.1-2.11.jar                  |Construction Wand             |constructionwand              |1.20.1-2.11         |DONE      |Manifest: NOSIGNATURE         laboratoryblocks-1.20.1-0.4.0.1r-fusion.jar       |Artemis' Laboratory Blocks    |laboratoryblocks              |1.20.1-0.4.0.1r-fusi|DONE      |Manifest: NOSIGNATURE         ItemPhysic_FORGE_v1.7.0_mc1.20.1.jar              |ItemPhysic                    |itemphysic                    |1.7.0               |DONE      |Manifest: NOSIGNATURE         JadeAddons-1.20.1-forge-5.2.2.jar                 |Jade Addons                   |jadeaddons                    |5.2.2               |DONE      |Manifest: NOSIGNATURE         lava_sources_1.20.1_1.0.0.jar                     |LavaSource                    |lava_source                   |1.0.0               |DONE      |Manifest: NOSIGNATURE         infiniverse-1.20.1-1.0.0.5.jar                    |Infiniverse                   |infiniverse                   |1.0.0.5             |DONE      |Manifest: NOSIGNATURE         CobbleForDays-1.8.0.jar                           |Cobble For Days               |cobblefordays                 |1.8.0               |DONE      |Manifest: NOSIGNATURE         FastLeafDecay-31.jar                              |Fast Leaf Decay               |fastleafdecay                 |31                  |DONE      |Manifest: NOSIGNATURE         antiblocksrechiseled-0.4.2.jar                    |AntiBlocksReChiseled          |antiblocksrechiseled          |0.4.2               |DONE      |Manifest: NOSIGNATURE         InfiniteBlocksJAR1.01.jar                         |Infinite Blocks               |infinite_blocks               |1.0.0               |DONE      |Manifest: NOSIGNATURE         Kiwi-1.20.1-forge-11.6.0.jar                      |Kiwi Library                  |kiwi                          |11.6.0              |DONE      |Manifest: NOSIGNATURE         clienttweaks-forge-1.20-11.1.0.jar                |Client Tweaks                 |clienttweaks                  |11.1.0              |DONE      |Manifest: NOSIGNATURE         StylishEffects-v8.0.2-1.20.1-Forge.jar            |Stylish Effects               |stylisheffects                |8.0.2               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         nomowanderer-1.20.1_1.6.4.jar                     |NoMoWanderer                  |nomowanderer                  |1.20.1_1.6.4        |DONE      |Manifest: NOSIGNATURE         doubledoors-1.20.1-5.4.jar                        |Double Doors                  |doubledoors                   |5.4                 |DONE      |Manifest: NOSIGNATURE         water_sources_1.20.1_1.0.0.jar                    |WaterSources                  |watersources                  |1.0.0               |DONE      |Manifest: NOSIGNATURE         rechiseled-1.1.5c-forge-mc1.20.jar                |Rechiseled                    |rechiseled                    |1.1.5c              |DONE      |Manifest: NOSIGNATURE         AttributeFix-Forge-1.20.1-21.0.4.jar              |AttributeFix                  |attributefix                  |21.0.4              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         tesseract-1.0.35a-forge-mc1.20.1.jar              |Tesseract                     |tesseract                     |1.0.35a             |DONE      |Manifest: NOSIGNATURE         bdlib-1.27.0.8-mc1.20.1.jar                       |BdLib                         |bdlib                         |1.27.0.8            |DONE      |Manifest: NOSIGNATURE         NaturesCompass-1.20.1-1.11.2-forge.jar            |Nature's Compass              |naturescompass                |1.20.1-1.11.2-forge |DONE      |Manifest: NOSIGNATURE         badpackets-forge-0.4.3.jar                        |Bad Packets                   |badpackets                    |0.4.3               |DONE      |Manifest: NOSIGNATURE         LibX-1.20.1-5.0.12.jar                            |LibX                          |libx                          |1.20.1-5.0.12       |DONE      |Manifest: NOSIGNATURE         BotanyPots-Forge-1.20.1-13.0.26.jar               |BotanyPots                    |botanypots                    |13.0.26             |DONE      |Manifest: NOSIGNATURE         farmingforblockheads-forge-1.20.1-14.0.2.jar      |Farming for Blockheads        |farmingforblockheads          |14.0.2              |DONE      |Manifest: NOSIGNATURE         SimpleFluidGeneratorsJAR1.06.jar                  |Simple Fluid Generators       |simplefluidgenerators         |1.0.0               |DONE      |Manifest: NOSIGNATURE         fusion-1.1.1-forge-mc1.20.1.jar                   |Fusion                        |fusion                        |1.1.1               |DONE      |Manifest: NOSIGNATURE         rfd-2.0.0.jar                                     |ResourcesForDays              |rfd                           |2.0.0               |DONE      |Manifest: NOSIGNATURE         CraftTweaker-forge-1.20.1-14.0.38.jar             |CraftTweaker                  |crafttweaker                  |14.0.38             |DONE      |Manifest: NOSIGNATURE         EdivadLib-1.20.1-2.0.1.jar                        |EdivadLib                     |edivadlib                     |2.0.1               |DONE      |Manifest: NOSIGNATURE         puzzlesaccessapi-forge-8.0.7.jar                  |Puzzles Access Api            |puzzlesaccessapi              |8.0.7               |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         forge-1.20.1-47.2.0-universal.jar                 |Forge                         |forge                         |47.2.0              |DONE      |Manifest: 84:ce:76:e8:45:35:e4:0e:63:86:df:47:59:80:0f:67:6c:c1:5f:6e:5f:4d:b3:54:47:1a:9f:7f:ed:5e:f2:90         extractinator-forge-1.20.1-2.3.0.jar              |Extractinator                 |extractinator                 |2.3.0               |DONE      |Manifest: NOSIGNATURE         server-1.20.1-20230612.114412-srg.jar             |Minecraft                     |minecraft                     |1.20.1              |DONE      |Manifest: NOSIGNATURE         capable_composters-1.20.1-1.2.0.3.jar             |Capable Composters            |capable_composters            |1.2.0               |DONE      |Manifest: NOSIGNATURE         emi-1.1.4+1.20.1+forge.jar                        |EMI                           |emi                           |1.1.4+1.20.1+forge  |DONE      |Manifest: NOSIGNATURE         Flopper-1.20.1-1.1.5.jar                          |Flopper                       |flopper                       |1.1.5               |DONE      |Manifest: NOSIGNATURE         theoneprobe-1.20.1-10.0.2.jar                     |The One Probe                 |theoneprobe                   |1.20.1-10.0.2       |DONE      |Manifest: NOSIGNATURE         MouseTweaks-forge-mc1.20-2.25.jar                 |Mouse Tweaks                  |mousetweaks                   |2.25                |DONE      |Manifest: NOSIGNATURE         commonality-1.20.1-7.0.0.jar                      |Commonality                   |commonality                   |7.0.0               |DONE      |Manifest: NOSIGNATURE         justenoughbreeding-forge-1.20.x-1.2.0.jar         |Just Enough Breeding          |justenoughbreeding            |1.2.0               |DONE      |Manifest: NOSIGNATURE         spectrelib-forge-0.13.15+1.20.1.jar               |SpectreLib                    |spectrelib                    |0.13.15+1.20.1      |DONE      |Manifest: NOSIGNATURE         SkyblockBuilder-1.20.1-5.0.16.jar                 |Skyblock Builder              |skyblockbuilder               |1.20.1-5.0.16       |DONE      |Manifest: NOSIGNATURE         Ding-1.20.1-Forge-1.4.1.jar                       |Ding                          |ding                          |1.4.1               |DONE      |Manifest: NOSIGNATURE         domum_ornamentum-1.20-1.0.110-RELEASE-universal.ja|Domum Ornamentum              |domum_ornamentum              |1.20-1.0.110-RELEASE|DONE      |Manifest: NOSIGNATURE         kffmod-4.10.0.jar                                 |Kotlin For Forge              |kotlinforforge                |4.10.0              |DONE      |Manifest: NOSIGNATURE         jeiintegration_1.20.1-10.0.0.jar                  |JEI Integration               |jeiintegration                |10.0.0              |DONE      |Manifest: NOSIGNATURE         pipez-1.20.1-1.2.5.jar                            |Pipez                         |pipez                         |1.20.1-1.2.5        |DONE      |Manifest: NOSIGNATURE         notenoughanimations-forge-1.7.1-mc1.20.1.jar      |NotEnoughAnimations           |notenoughanimations           |1.7.1               |DONE      |Manifest: NOSIGNATURE         itemcollectors-1.1.9-forge-mc1.20.jar             |Item Collectors               |itemcollectors                |1.1.9               |DONE      |Manifest: NOSIGNATURE         polymorph-forge-0.49.3+1.20.1.jar                 |Polymorph                     |polymorph                     |0.49.3+1.20.1       |DONE      |Manifest: NOSIGNATURE         JustEnoughProfessions-forge-1.20.1-3.0.1.jar      |Just Enough Professions (JEP) |justenoughprofessions         |3.0.1               |DONE      |Manifest: NOSIGNATURE         entityculling-forge-1.6.2-mc1.20.1.jar            |EntityCulling                 |entityculling                 |1.6.2               |DONE      |Manifest: NOSIGNATURE         appleskin-forge-mc1.20.1-2.5.1.jar                |AppleSkin                     |appleskin                     |2.5.1+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         connectedglass-1.1.11-forge-mc1.20.1.jar          |Connected Glass               |connectedglass                |1.1.11              |DONE      |Manifest: NOSIGNATURE         ArchitectsChisel-1.20.1-1.0.0.jar                 |Architect's Chisel            |architectschisel              |1.0.0               |DONE      |Manifest: NOSIGNATURE         RainShield-1.20.1-1.1.3.jar                       |Rain Shield                   |rainshield                    |1.1.3               |DONE      |Manifest: NOSIGNATURE         PuzzlesLib-v8.1.18-1.20.1-Forge.jar               |Puzzles Lib                   |puzzleslib                    |8.1.18              |DONE      |Manifest: 9a:09:85:98:65:c4:8c:11:c5:49:f6:d6:33:23:39:df:8d:b4:ff:92:84:b8:bd:a5:83:9f:ac:7f:2a:d1:4b:6a         hyperbox-1.20.1-4.0.2.0.jar                       |Hyperbox                      |hyperbox                      |4.0.2.0             |DONE      |Manifest: NOSIGNATURE         textrues_embeddium_options-0.1.5+mc1.20.1.jar     |TexTrue's Embeddium Options   |textrues_embeddium_options    |0.1.5+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         extremesoundmuffler-3.41-forge-1.20.jar           |Extreme Sound Muffler         |extremesoundmuffler           |3.41-forge-1.20     |DONE      |Manifest: NOSIGNATURE         cosmeticarmorreworked-1.20.1-v1a.jar              |CosmeticArmorReworked         |cosmeticarmorreworked         |1.20.1-v1a          |DONE      |Manifest: 5e:ed:25:99:e4:44:14:c0:dd:89:c1:a9:4c:10:b5:0d:e4:b1:52:50:45:82:13:d8:d0:32:89:67:56:57:01:53         bedrockbreakers-1.5.jar                           |Bedrock Breakers              |bedrockbreakers               |1.5                 |DONE      |Manifest: NOSIGNATURE         CyclopsCore-1.20.1-1.19.0.jar                     |Cyclops Core                  |cyclopscore                   |1.19.0              |DONE      |Manifest: NOSIGNATURE         netherportalfix-forge-1.20-13.0.1.jar             |NetherPortalFix               |netherportalfix               |13.0.1              |DONE      |Manifest: NOSIGNATURE         kleeslabs-forge-1.20-15.0.0.jar                   |KleeSlabs                     |kleeslabs                     |15.0.0              |DONE      |Manifest: NOSIGNATURE         glassential-renewed-forge-1.20.1-2.1.3.jar        |Glassential Renewed           |glassential                   |2.1.3               |DONE      |Manifest: NOSIGNATURE         Controlling-forge-1.20.1-12.0.2.jar               |Controlling                   |controlling                   |12.0.2              |DONE      |Manifest: NOSIGNATURE         Placebo-1.20.1-8.6.1.jar                          |Placebo                       |placebo                       |8.6.1               |DONE      |Manifest: NOSIGNATURE         emi_loot-0.6.5+1.20.1+forge.jar                   |EMI Loot                      |emi_loot                      |0.6.5+1.20.1+forge  |DONE      |Manifest: NOSIGNATURE         dankstorage-forge-1.20.1-8.jar                    |Dank Storage                  |dankstorage                   |8                   |DONE      |Manifest: NOSIGNATURE         lootintegrations-1.20.1-3.4.jar                   |Lootintegrations mod          |lootintegrations              |1.20.1-3.4          |DONE      |Manifest: NOSIGNATURE         mixinextras-forge-0.3.5.jar                       |MixinExtras                   |mixinextras                   |0.3.5               |DONE      |Manifest: NOSIGNATURE         emitrades-forge-1.2.1+mc1.20.1.jar                |EMI Trades                    |emitrades                     |1.2.1+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         Bookshelf-Forge-1.20.1-20.1.9.jar                 |Bookshelf                     |bookshelf                     |20.1.9              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         BuildGuide-1.20-0.4.0.jar                         |Build Guide                   |buildguide                    |0.4.0               |DONE      |Manifest: NOSIGNATURE         LightingWand-1.20.1-forge-8.0.0.jar               |Lighting Wand                 |lightingwand                  |8.0.0               |DONE      |Manifest: NOSIGNATURE         jeed-1.20-2.1.12.jar                              |Just Enough Effects Descriptio|jeed                          |1.20-2.1.12         |DONE      |Manifest: NOSIGNATURE         clearvoid-forge-1.3.0.jar                         |Clear Void                    |clearvoid                     |1.3.0               |DONE      |Manifest: NOSIGNATURE         mob_grinding_utils-1.20.1-1.1.0.jar               |Mob Grinding Utils            |mob_grinding_utils            |1.20.1-1.1.0        |DONE      |Manifest: NOSIGNATURE         FarmersDelight-1.20.1-1.2.4.jar                   |Farmer's Delight              |farmersdelight                |1.20.1-1.2.4        |DONE      |Manifest: NOSIGNATURE         DustrialDecor-1.3.5-1.20.jar                      |'Dustrial Decor               |dustrial_decor                |1.3.2               |DONE      |Manifest: NOSIGNATURE         entangled-1.3.17-forge-mc1.20.jar                 |Entangled                     |entangled                     |1.3.17              |DONE      |Manifest: NOSIGNATURE         endertanks-forge-1.20.1-1.2.jar                   |EnderTanks                    |endertanks                    |1.20.1-1.2          |DONE      |Manifest: NOSIGNATURE         saturatingitem-1.0.01.jar                         |Saturating Item               |saturatingitem                |1.0.0               |DONE      |Manifest: NOSIGNATURE         wirelesschargers-1.0.9-forge-mc1.20.jar           |Wireless Chargers             |wirelesschargers              |1.0.9               |DONE      |Manifest: NOSIGNATURE         EXO-Craft-1.20.x-(v.2.3.5).jar                    |EXO-Craft                     |exocraft                      |2.3.5               |DONE      |Manifest: NOSIGNATURE         simplylight-1.20.1-1.4.6-build.50.jar             |Simply Light                  |simplylight                   |1.20.1-1.4.6-build.5|DONE      |Manifest: NOSIGNATURE         modelfix-1.15.jar                                 |Model Gap Fix                 |modelfix                      |1.15                |DONE      |Manifest: NOSIGNATURE         EasyPaxel1.20.1(Forge)vs1.0.3.jar                 |Easy Paxel Lite               |easypaxellite                 |1.20.1-1.0.3        |DONE      |Manifest: NOSIGNATURE         collective-1.20.1-7.40.jar                        |Collective                    |collective                    |7.40                |DONE      |Manifest: NOSIGNATURE         DrawersTooltip-1.20.1-forge-8.0.0.jar             |Drawers Tooltip               |drawerstooltip                |8.0.0               |DONE      |Manifest: NOSIGNATURE         elevatorid-1.20.1-lex-1.9.jar                     |Elevator Mod                  |elevatorid                    |1.20.1-lex-1.9      |DONE      |Manifest: NOSIGNATURE         ftb-ultimine-forge-2001.1.4.jar                   |FTB Ultimine                  |ftbultimine                   |2001.1.4            |DONE      |Manifest: NOSIGNATURE         Runelic-Forge-1.20.1-18.0.2.jar                   |Runelic                       |runelic                       |18.0.2              |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         resourcefullib-forge-1.20.1-2.1.24.jar            |Resourceful Lib               |resourcefullib                |2.1.24              |DONE      |Manifest: NOSIGNATURE         starterkit-1.20.1-6.5.jar                         |Starter Kit                   |starterkit                    |6.5                 |DONE      |Manifest: NOSIGNATURE         embeddiumextras-1.20.1-v2.0.0.jar                 |Embeddium Extras              |embeddiumextras               |2.0.0               |DONE      |Manifest: NOSIGNATURE         InventoryProfilesNext-forge-1.20-1.10.10.jar      |Inventory Profiles Next       |inventoryprofilesnext         |1.10.10             |DONE      |Manifest: NOSIGNATURE         architectury-9.2.14-forge.jar                     |Architectury                  |architectury                  |9.2.14              |DONE      |Manifest: NOSIGNATURE         letsdo-API-forge-1.2.9-forge.jar                  |[Let's Do] API                |doapi                         |1.2.9               |DONE      |Manifest: NOSIGNATURE         letsdo-vinery-forge-1.4.14.jar                    |[Let's Do] Vinery             |vinery                        |1.4.14              |DONE      |Manifest: NOSIGNATURE         ftb-library-forge-2001.1.5.jar                    |FTB Library                   |ftblibrary                    |2001.1.5            |DONE      |Manifest: NOSIGNATURE         jecalculation-forge-1.20.1-4.0.4.jar              |Just Enough Calculation       |jecalculation                 |4.0.4               |DONE      |Manifest: NOSIGNATURE         jei-1.20.1-forge-15.3.0.4.jar                     |Just Enough Items             |jei                           |15.3.0.4            |DONE      |Manifest: NOSIGNATURE         letsdo-bakery-forge-1.1.8.jar                     |[Let's Do] Bakery             |bakery                        |1.1.8               |DONE      |Manifest: NOSIGNATURE         squatgrow-forge-5.3.0+mc1.20.1.jar                |Squat Grow                    |squatgrow                     |5.3.0+mc1.20.1      |DONE      |Manifest: NOSIGNATURE         ftb-teams-forge-2001.2.0.jar                      |FTB Teams                     |ftbteams                      |2001.2.0            |DONE      |Manifest: NOSIGNATURE         letsdo-brewery-forge-1.1.5.jar                    |[Let's Do] Brewery            |brewery                       |1.1.5               |DONE      |Manifest: NOSIGNATURE         AI-Improvements-1.20-0.5.2.jar                    |AI-Improvements               |aiimprovements                |0.5.2               |DONE      |Manifest: NOSIGNATURE         cupboard-1.20.1-2.6.jar                           |Cupboard utilities            |cupboard                      |1.20.1-2.6          |DONE      |Manifest: NOSIGNATURE         light-overlay-8.0.0-forge.jar                     |Light Overlay                 |lightoverlay                  |8.0.0               |DONE      |Manifest: NOSIGNATURE         trashcans-1.0.18b-forge-mc1.20.jar                |Trash Cans                    |trashcans                     |1.0.18b             |DONE      |Manifest: NOSIGNATURE         polylib-forge-2000.0.3-build.133.jar              |PolyLib                       |polylib                       |2000.0.3-build.133  |DONE      |Manifest: NOSIGNATURE         observable-4.4.1.jar                              |Observable                    |observable                    |4.4.1               |DONE      |Manifest: NOSIGNATURE         YeetusExperimentus-Forge-2.3.1-build.6+mc1.20.1.ja|Yeetus Experimentus           |yeetusexperimentus            |2.3.1-build.6+mc1.20|DONE      |Manifest: NOSIGNATURE         DarkModeEverywhere-1.20.1-1.2.2.jar               |DarkModeEverywhere            |darkmodeeverywhere            |1.20.1-1.2.2        |DONE      |Manifest: NOSIGNATURE         BetterAdvancements-1.20.1-0.3.2.161.jar           |Better Advancements           |betteradvancements            |0.3.2.161           |DONE      |Manifest: NOSIGNATURE         rhino-forge-2001.2.2-build.18.jar                 |Rhino                         |rhino                         |2001.2.2-build.18   |DONE      |Manifest: NOSIGNATURE         kubejs-forge-2001.6.4-build.138.jar               |KubeJS                        |kubejs                        |2001.6.4-build.138  |DONE      |Manifest: NOSIGNATURE         trashslot-forge-1.20-15.1.0.jar                   |TrashSlot                     |trashslot                     |15.1.0              |DONE      |Manifest: NOSIGNATURE         craftingstation-1.20.1-1.jar                      |Crafting Station              |craftingstation               |1.20.1-1            |DONE      |Manifest: NOSIGNATURE         quickstack-1.20.1-1.jar                           |QuickStack                    |quickstack                    |1.20.1-1            |DONE      |Manifest: NOSIGNATURE         item-filters-forge-2001.1.0-build.59.jar          |Item Filters                  |itemfilters                   |2001.1.0-build.59   |DONE      |Manifest: NOSIGNATURE         ftb-quests-forge-2001.3.5.jar                     |FTB Quests                    |ftbquests                     |2001.3.5            |DONE      |Manifest: NOSIGNATURE         TravelAnchors-1.20.1-5.0.1.jar                    |Travel Anchors                |travelanchors                 |1.20.1-5.0.1        |DONE      |Manifest: NOSIGNATURE         waystones-forge-1.20-14.1.3.jar                   |Waystones                     |waystones                     |14.1.3              |DONE      |Manifest: NOSIGNATURE         FastSuite-1.20.1-5.0.1.jar                        |Fast Suite                    |fastsuite                     |5.0.1               |DONE      |Manifest: NOSIGNATURE         Clumps-forge-1.20.1-12.0.0.3.jar                  |Clumps                        |clumps                        |12.0.0.3            |DONE      |Manifest: NOSIGNATURE         journeymap-1.20.1-5.9.20-forge.jar                |Journeymap                    |journeymap                    |5.9.20              |DONE      |Manifest: NOSIGNATURE         comforts-forge-6.3.5+1.20.1.jar                   |Comforts                      |comforts                      |6.3.5+1.20.1        |DONE      |Manifest: NOSIGNATURE         framedcompactdrawers-1.20-6.0.0.jar               |Framed Compacting Drawers     |framedcompactdrawers          |1.20-6.0.0          |DONE      |Manifest: NOSIGNATURE         [1.20.1]davesbuilds.jar                           |Dave's Building Extended      |davebuildingmod               |5.0                 |DONE      |Manifest: NOSIGNATURE         DimStorage-1.20.1-8.0.1.jar                       |DimStorage                    |dimstorage                    |8.0.1               |DONE      |Manifest: NOSIGNATURE         charginggadgets-1.11.0.jar                        |Charging Gadgets              |charginggadgets               |1.11.0              |DONE      |Manifest: NOSIGNATURE         gtceu-1.20.1-1.1.4.a.jar                          |GregTech                      |gtceu                         |1.1.4.a             |DONE      |Manifest: NOSIGNATURE         mcjtylib-1.20-8.0.3.jar                           |McJtyLib                      |mcjtylib                      |1.20-8.0.3          |DONE      |Manifest: NOSIGNATURE         rftoolsbase-1.20-5.0.2.jar                        |RFToolsBase                   |rftoolsbase                   |1.20-5.0.2          |DONE      |Manifest: NOSIGNATURE         xnet-1.20-6.0.2.jar                               |XNet                          |xnet                          |1.20-6.0.2          |DONE      |Manifest: NOSIGNATURE         signtastic-1.20-3.0.0.jar                         |SignTastic                    |signtastic                    |1.20-3.0.0          |DONE      |Manifest: NOSIGNATURE         ExplorersCompass-1.20.1-1.3.3-forge.jar           |Explorer's Compass            |explorerscompass              |1.20.1-1.3.3-forge  |DONE      |Manifest: NOSIGNATURE         waveycapes-forge-1.4.4-mc1.20.1.jar               |WaveyCapes                    |waveycapes                    |1.4.4               |DONE      |Manifest: NOSIGNATURE         ToastControl-1.20.1-8.0.3.jar                     |Toast Control                 |toastcontrol                  |8.0.3               |DONE      |Manifest: NOSIGNATURE         ftb-chunks-forge-2001.2.7.jar                     |FTB Chunks                    |ftbchunks                     |2001.2.7            |DONE      |Manifest: NOSIGNATURE         ftb-xmod-compat-forge-2.1.0.jar                   |FTB XMod Compat               |ftbxmodcompat                 |2.1.0               |DONE      |Manifest: NOSIGNATURE         SimpleResourceGeneratorsJAR1.12.jar               |Simple Resource Generators    |simple_resource_generators    |1.0.0               |DONE      |Manifest: NOSIGNATURE         craftingtweaks-forge-1.20.1-18.2.3.jar            |CraftingTweaks                |craftingtweaks                |18.2.3              |DONE      |Manifest: NOSIGNATURE         rftoolsutility-1.20-6.0.5.jar                     |RFToolsUtility                |rftoolsutility                |1.20-6.0.5          |DONE      |Manifest: NOSIGNATURE         libIPN-forge-1.20-4.0.2.jar                       |libIPN                        |libipn                        |4.0.2               |DONE      |Manifest: NOSIGNATURE         EnchantmentDescriptions-Forge-1.20.1-17.0.14.jar  |EnchantmentDescriptions       |enchdesc                      |17.0.14             |DONE      |Manifest: eb:c4:b1:67:8b:f9:0c:db:dc:4f:01:b1:8e:61:64:39:4c:10:85:0b:a6:c4:c7:48:f0:fa:95:f2:cb:08:3a:e5         sebastrnlib-4.0.0.jar                             |Sebastrn Lib                  |sebastrnlib                   |4.0.0               |DONE      |Manifest: NOSIGNATURE         appliedcooking-4.0.0.jar                          |Applied Cooking               |appliedcooking                |4.0.0               |DONE      |Manifest: NOSIGNATURE         cookingforblockheads-forge-1.20.1-16.0.3.jar      |CookingForBlockheads          |cookingforblockheads          |16.0.3              |DONE      |Manifest: NOSIGNATURE         Patchouli-1.20.1-84-FORGE.jar                     |Patchouli                     |patchouli                     |1.20.1-84-FORGE     |DONE      |Manifest: NOSIGNATURE         moonlight-1.20-2.11.9-forge.jar                   |Moonlight Library             |moonlight                     |1.20-2.11.9         |DONE      |Manifest: NOSIGNATURE         labels-1.20-1.20.1.jar                            |Labels                        |labels                        |1.20-1.20.1         |DONE      |Manifest: NOSIGNATURE         configuration-forge-1.20.1-2.2.0.jar              |Configuration                 |configuration                 |2.2.0               |DONE      |Manifest: NOSIGNATURE         ToolBelt-1.20-1.20.0.jar                          |Tool Belt                     |toolbelt                      |1.20.0              |DONE      |Manifest: NOSIGNATURE         titanium-1.20.1-3.8.27.jar                        |Titanium                      |titanium                      |3.8.27              |DONE      |Manifest: NOSIGNATURE         Jade-1.20.1-forge-11.7.1.jar                      |Jade                          |jade                          |11.7.1              |DONE      |Manifest: NOSIGNATURE         appliedenergistics2-forge-15.0.23.jar             |Applied Energistics 2         |ae2                           |15.0.23             |DONE      |Manifest: NOSIGNATURE         merequester-forge-1.20.1-1.1.4.jar                |ME Requester                  |merequester                   |1.20.1-1.1.4        |DONE      |Manifest: NOSIGNATURE         ae2wtlib-15.2.3-forge.jar                         |AE2WTLib                      |ae2wtlib                      |15.2.3-forge        |DONE      |Manifest: NOSIGNATURE         megacells-forge-2.3.3-1.20.1.jar                  |MEGA Cells                    |megacells                     |2.3.3-1.20.1        |DONE      |Manifest: NOSIGNATURE         ExtendedAE-1.20-1.0.18-forge.jar                  |ExtendedAE                    |expatternprovider             |1.20-1.0.18-forge   |DONE      |Manifest: NOSIGNATURE         AE2-Things-1.2.1.jar                              |AE2 Things                    |ae2things                     |1.2.1               |DONE      |Manifest: NOSIGNATURE         CreativeCore_FORGE_v2.11.25_mc1.20.1.jar          |CreativeCore                  |creativecore                  |2.11.25             |DONE      |Manifest: NOSIGNATURE         packedup-1.0.30-forge-mc1.20.jar                  |Packed Up                     |packedup                      |1.0.30              |DONE      |Manifest: NOSIGNATURE         EnderIO-1.20.1-6.0.25-alpha.jar                   |Ender IO                      |enderio                       |6.0.25-alpha        |DONE      |Manifest: NOSIGNATURE         DefaultWorldType-1.20.1-4.0.4.jar                 |Default World Type            |defaultworldtype              |1.20.1-4.0.4        |DONE      |Manifest: NOSIGNATURE         easy_villagers-1.20.1-1.0.17.jar                  |Easy Villagers                |easy_villagers                |1.20.1-1.0.17       |DONE      |Manifest: NOSIGNATURE         Dimensional-Paintings-1.20.1-2.0.2.jar            |Dimensional Paintings         |dimpaintings                  |2.0.2               |DONE      |Manifest: NOSIGNATURE         polyeng-forge-0.1.0-1.20.1.jar                    |Polymorphic Energistics       |polyeng                       |0.1.0-1.20.1        |DONE      |Manifest: NOSIGNATURE         PigPen-Forge-1.20.1-15.0.2.jar                    |PigPen                        |pigpen                        |15.0.2              |DONE      |Manifest: NOSIGNATURE         storagedrawers-1.20.1-12.0.3.jar                  |Storage Drawers               |storagedrawers                |12.0.3              |DONE      |Manifest: NOSIGNATURE         enderchests-forge-1.20.1-1.2.jar                  |EnderChests                   |enderchests                   |1.20.1-1.2          |DONE      |Manifest: NOSIGNATURE         buildinggadgets2-1.0.7.jar                        |Building Gadgets 2            |buildinggadgets2              |1.0.7               |DONE      |Manifest: NOSIGNATURE         capable_cauldrons-1.20.1-1.2.0.5.jar              |Capable Cauldrons             |capable_cauldrons             |1.2.0               |DONE      |Manifest: NOSIGNATURE         ferritecore-6.0.1-forge.jar                       |Ferrite Core                  |ferritecore                   |6.0.1               |DONE      |Manifest: 41:ce:50:66:d1:a0:05:ce:a1:0e:02:85:9b:46:64:e0:bf:2e:cf:60:30:9a:fe:0c:27:e0:63:66:9a:84:ce:8a         functionalstorage-1.20.1-1.2.7.jar                |Functional Storage            |functionalstorage             |1.20.1-1.2.7        |DONE      |Manifest: NOSIGNATURE         apexcore-1.20.1-10.0.0.jar                        |ApexCore                      |apexcore                      |10.0.0              |DONE      |Manifest: NOSIGNATURE         fantasyfurniture-1.20.1-9.0.0.jar                 |Fantasy's Furniture           |fantasyfurniture              |9.0.0               |DONE      |Manifest: NOSIGNATURE         modular-routers-12.1.1+mc1.20.1.jar               |Modular Routers               |modularrouters                |12.1.1+mc1.20.1     |DONE      |Manifest: NOSIGNATURE         BetterF3-7.0.2-Forge-1.20.1.jar                   |BetterF3                      |betterf3                      |7.0.2               |DONE      |Manifest: NOSIGNATURE         overloadedarmorbar-1.20.1-1.jar                   |Overloaded Armor Bar          |overloadedarmorbar            |1.20.1-1            |DONE      |Manifest: NOSIGNATURE         xtonesreworked-1.0.1-F_1.20.1-47.2.0.jar          |XTones Reworked               |xtonesreworked                |1.0.1               |DONE      |Manifest: NOSIGNATURE         LittleTiles_BETA_v1.6.0-pre100_mc1.20.1.jar       |LittleTiles                   |littletiles                   |1.6.0-pre100        |DONE      |Manifest: NOSIGNATURE     Crash Report UUID: 68c93cde-f9be-4441-9b55-93d2fc79d2c1     FML: 47.2     Forge: net.minecraftforge:47.2.0     Kiwi Modules:          kiwi:contributors         kiwi:data         lightingwand:core
    • Add the crash-report or latest.log (logs-folder) with sites like https://paste.ee/ and paste the link to it here  
    • Thank you so much for your help, I've been trying to figure out the issue for months now and your help is so appreciated. Thanks!
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.