Posted January 6, 201312 yr hey i wanne make an alternative recipe for whitedye(bone meal) and bluedye(lapis) but i'm not gonne put all the recipes i check and you can add an alternative dye thats is linked to the dye you want. but i don't know how i have to do that and in what file i have to put that this is a part code from the oredictionary file i hope you can help me public class OreDictionary { private static boolean hasInit = false; private static int maxID = 0; private static HashMap<String, Integer> oreIDs = new HashMap<String, Integer>(); private static HashMap<Integer, ArrayList<ItemStack>> oreStacks = new HashMap<Integer, ArrayList<ItemStack>>(); static { initVanillaEntries(); } public static void initVanillaEntries() { if (!hasInit) { registerOre("logWood", new ItemStack(Block.wood, 1, -1)); registerOre("plankWood", new ItemStack(Block.planks, 1, -1)); registerOre("slabWood", new ItemStack(Block.woodSingleSlab, 1, -1)); registerOre("stairWood", Block.stairCompactPlanks); registerOre("stairWood", Block.stairsWoodBirch); registerOre("stairWood", Block.stairsWoodJungle); registerOre("stairWood", Block.stairsWoodSpruce); registerOre("stickWood", Item.stick); registerOre("treeSapling", new ItemStack(Block.sapling, 1, -1)); registerOre("treeLeaves", new ItemStack(Block.leaves, 1, -1)); } // Build our list of items to replace with ore tags Map<ItemStack, String> replacements = new HashMap<ItemStack, String>(); replacements.put(new ItemStack(Block.planks, 1, -1), "plankWood"); replacements.put(new ItemStack(Item.stick), "stickWood"); // Register dyes String[] dyes = { "dyeBlack", "dyeRed", "dyeGreen", "dyeBrown", "dyeBlue", "dyePurple", "dyeCyan", "dyeLightGray", "dyeGray", "dyePink", "dyeLime", "dyeYellow", "dyeLightBlue", "dyeMagenta", "dyeOrange", "dyeWhite" }; for(int i = 0; i < 16; i++) { ItemStack dye = new ItemStack(Item.dyePowder, 1, i); if (!hasInit) { registerOre(dyes, dye); } replacements.put(dye, dyes); } hasInit = true; ItemStack[] replaceStacks = replacements.keySet().toArray(new ItemStack[0]); thx, MrArnoEnCo
January 7, 201312 yr If you want the resulting item to be bone meal / lapis Just set up a standard crafting with the result being ItemStack(Item.dyePowder, 1, 15) / ItemStack(Item.dyePowder, 1, 4) But if you want the result to be a white / blue dye alternative Create your item and recipe like normal, then register your item to the ore dictionary OreDictionary.registerOre("dyeWhite", new ItemStack(YOUR_ITEM_ID, 1, WHITE_META)); OreDictionary.registerOre("dyeBlue", new ItemStack(YOUR_ITEM_ID, 1, BLUE_META)); Any mod that checks the ore dictionary for dye can use your item. http://www.minecraftforge.net/wiki/Ore_dictionary http://www.minecraftforge.net/wiki/How_to_use_the_ore_dictionary
January 11, 201312 yr What ever you make it. If you make a new item "myDyes" and set white to meta 0 and blue to meta 1 OreDictionary.registerOre("dyeWhite", new ItemStack(myDyes.shiftedIndex, 1, 0)); OreDictionary.registerOre("dyeBlue", new ItemStack(myDyes.shiftedIndex, 1, 1));
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.