Created
May 8, 2011 03:12
-
-
Save BlockAfterBlock/961062 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| package net.minecraft.src; | |
| import java.io.PrintStream; | |
| import java.util.*; | |
| public class SewingCraftingManager | |
| { | |
| public static final SewingCraftingManager getInstance() | |
| { | |
| return instance; | |
| } | |
| private SewingCraftingManager() | |
| { | |
| recipes = new ArrayList(); | |
| addSewingRecipe(new ItemStack(mod_Carpets.WhiteCarpet, 4), new Object[] {"###",('#'),mod_Carpets.WhiteTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.BlackCarpet, 4), new Object[] {"###",('#'),mod_Carpets.BlackTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.BlueCarpet, 4), new Object[] {"###",('#'),mod_Carpets.BlueTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.BrownCarpet, 4), new Object[] {"###",('#'),mod_Carpets.BrownTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.GrayCarpet, 4), new Object[] {"###",('#'),mod_Carpets.GrayTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.OrangeCarpet, 4), new Object[] {"###",('#'),mod_Carpets.OrangeTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.PinkCarpet, 4), new Object[] {"###",('#'),mod_Carpets.PinkTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.PurpleCarpet, 4), new Object[] {"###",('#'),mod_Carpets.PurpleTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.RedCarpet, 4), new Object[] {"###",('#'),mod_Carpets.RedTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.YellowCarpet, 4), new Object[] {"###",('#'),mod_Carpets.YellowTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.CyanCarpet, 4), new Object[] {"###",('#'),mod_Carpets.CyanTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.DarkGreenCarpet, 4), new Object[] {"###",('#'),mod_Carpets.DarkGreenTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.LightBlueCarpet, 4), new Object[] {"###",('#'),mod_Carpets.LightBlueTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.LightGrayCarpet, 4), new Object[] {"###",('#'),mod_Carpets.LightGrayTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.LightGreenCarpet, 4), new Object[] {"###",('#'),mod_Carpets.LightGreenTextile}); | |
| addSewingRecipe(new ItemStack(mod_Carpets.MagentaCarpet, 4), new Object[] {"###",('#'),mod_Carpets.MagentaTextile}); | |
| System.out.println((new StringBuilder()).append(recipes.size()).append(" recipes").toString()); | |
| } | |
| void addSewingRecipe(ItemStack itemstack, Object aobj[]) | |
| { | |
| String s = ""; | |
| int i = 0; | |
| int j = 0; | |
| int k = 0; | |
| if(aobj[i] instanceof String[]) | |
| { | |
| String as[] = (String[])aobj[i++]; | |
| for(int l = 0; l < as.length; l++) | |
| { | |
| String s2 = as[l]; | |
| k++; | |
| j = s2.length(); | |
| s = (new StringBuilder()).append(s).append(s2).toString(); | |
| } | |
| } else | |
| { | |
| while(aobj[i] instanceof String) | |
| { | |
| String s1 = (String)aobj[i++]; | |
| k++; | |
| j = s1.length(); | |
| s = (new StringBuilder()).append(s).append(s1).toString(); | |
| } | |
| } | |
| HashMap hashmap = new HashMap(); | |
| for(; i < aobj.length; i += 2) | |
| { | |
| Character character = (Character)aobj[i]; | |
| ItemStack itemstack1 = null; | |
| if(aobj[i + 1] instanceof Item) | |
| { | |
| itemstack1 = new ItemStack((Item)aobj[i + 1]); | |
| } else | |
| if(aobj[i + 1] instanceof Block) | |
| { | |
| itemstack1 = new ItemStack((Block)aobj[i + 1], 1, -1); | |
| } else | |
| if(aobj[i + 1] instanceof ItemStack) | |
| { | |
| itemstack1 = (ItemStack)aobj[i + 1]; | |
| } | |
| hashmap.put(character, itemstack1); | |
| } | |
| ItemStack aitemstack[] = new ItemStack[j * k]; | |
| for(int i1 = 0; i1 < j * k; i1++) | |
| { | |
| char c = s.charAt(i1); | |
| if(hashmap.containsKey(Character.valueOf(c))) | |
| { | |
| aitemstack[i1] = ((ItemStack)hashmap.get(Character.valueOf(c))).copy(); | |
| } else | |
| { | |
| aitemstack[i1] = null; | |
| } | |
| } | |
| recipes.add(new ShapedRecipes(j, k, aitemstack, itemstack)); | |
| } | |
| public ItemStack findMatchingRecipe(InventoryCrafting inventorycrafting) | |
| { | |
| for(int i = 0; i < recipes.size(); i++) | |
| { | |
| IRecipe irecipe = (IRecipe)recipes.get(i); | |
| if(irecipe.matches(inventorycrafting)) | |
| { | |
| return irecipe.getCraftingResult(inventorycrafting); | |
| } | |
| } | |
| return null; | |
| } | |
| public List func_25193_b() | |
| { | |
| return recipes; | |
| } | |
| private static final SewingCraftingManager instance = new SewingCraftingManager(); | |
| private List recipes; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment