the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 113 lines 2.4 kB view raw
1#include "stdafx.h" 2#include "net.minecraft.world.item.h" 3#include "Tile.h" 4#include "Recipy.h" 5#include "Recipes.h" 6#include "ToolRecipies.h" 7 8// 4J-PB - adding "" on the end of these so we can detect it 9wstring ToolRecipies::shapes[][4] = 10{ 11 {L"XXX", // 12 L" # ",// 13 L" # "},// 14 15 {L"X",// 16 L"#",// 17 L"#"},// 18 19 {L"XX",// 20 L"X#",// 21 L" #"},// 22 23 {L"XX",// 24 L" #",// 25 L" #"},// 26}; 27 28void ToolRecipies::_init() 29{ 30 map = new vector <Object *> [MAX_TOOL_RECIPES]; 31 32 ADD_OBJECT(map[0],Tile::wood); 33 ADD_OBJECT(map[0],Tile::cobblestone); 34 ADD_OBJECT(map[0],Item::ironIngot); 35 ADD_OBJECT(map[0],Item::diamond); 36 ADD_OBJECT(map[0],Item::goldIngot); 37 38 ADD_OBJECT(map[1],Item::pickAxe_wood); 39 ADD_OBJECT(map[1],Item::pickAxe_stone); 40 ADD_OBJECT(map[1],Item::pickAxe_iron); 41 ADD_OBJECT(map[1],Item::pickAxe_diamond); 42 ADD_OBJECT(map[1],Item::pickAxe_gold); 43 44 ADD_OBJECT(map[2],Item::shovel_wood); 45 ADD_OBJECT(map[2],Item::shovel_stone); 46 ADD_OBJECT(map[2],Item::shovel_iron); 47 ADD_OBJECT(map[2],Item::shovel_diamond); 48 ADD_OBJECT(map[2],Item::shovel_gold); 49 50 ADD_OBJECT(map[3],Item::hatchet_wood); 51 ADD_OBJECT(map[3],Item::hatchet_stone); 52 ADD_OBJECT(map[3],Item::hatchet_iron); 53 ADD_OBJECT(map[3],Item::hatchet_diamond); 54 ADD_OBJECT(map[3],Item::hatchet_gold); 55 56 ADD_OBJECT(map[4],Item::hoe_wood); 57 ADD_OBJECT(map[4],Item::hoe_stone); 58 ADD_OBJECT(map[4],Item::hoe_iron); 59 ADD_OBJECT(map[4],Item::hoe_diamond); 60 ADD_OBJECT(map[4],Item::hoe_gold); 61} 62 63void ToolRecipies::addRecipes(Recipes *r) 64{ 65 wchar_t wchTypes[7]; 66 wchTypes[6]=0; 67 68 for (unsigned int m = 0; m < map[0].size(); m++) 69 { 70 Object *pObjMaterial = map[0].at(m); 71 72 for (int t=0; t<MAX_TOOL_RECIPES-1; t++) 73 { 74 Item *target = map[t+1].at(m)->item; 75 76 wchTypes[0]=L'w'; 77 wchTypes[1]=L'c'; 78 wchTypes[2]=L'i'; 79 wchTypes[3]=L'c'; 80 wchTypes[5]=L'g'; 81 if(pObjMaterial->GetType()==eType_TILE) 82 { 83 wchTypes[4]=L't'; 84 r->addShapedRecipy(new ItemInstance(target), 85 wchTypes, 86 shapes[t], 87 88 L'#', Item::stick, 89 L'X', pObjMaterial->tile, 90 L'T'); 91 } 92 else 93 { 94 // must be Item 95 wchTypes[4]=L'i'; 96 r->addShapedRecipy(new ItemInstance(target), 97 wchTypes, 98 shapes[t], 99 100 L'#', Item::stick, 101 L'X', pObjMaterial->item, 102 L'T'); 103 } 104 } 105 } 106 r->addShapedRecipy(new ItemInstance((Item *)Item::shears), 107 L"sscig", 108 L" #", // 109 L"# ", // 110 L'#', Item::ironIngot, 111 L'T' 112 ); 113}