Files
minecraft-pe-0.6.1/src/world/item/crafting/ToolRecipes.cpp
2026-03-02 22:04:18 +03:00

60 lines
1.7 KiB
C++
Executable File

#include "ToolRecipes.h"
#include "Recipes.h"
#include "../ShearsItem.h"
#include "../../level/tile/Tile.h"
static RowList shapes[] = {
Recipes::Shape( "XXX", //
" # ",//
" # "),//
Recipes::Shape( "X",//
"#",//
"#"),//
Recipes::Shape( "XX",//
"X#",//
" #"),//
Recipes::Shape( "XX",//
" #",//
" #")//
};
void ToolRecipes::addRecipes( Recipes* r )
{
int materialIds[] = {Tile::wood->id, Tile::stoneBrick->id, Item::ironIngot->id, Item::emerald->id, Item::goldIngot->id};
const int NumMaterials = sizeof(materialIds) / sizeof(int);
const int NumRecipes = sizeof(shapes) / sizeof(RowList);
Item* map[NumRecipes][NumMaterials] = {
{Item::pickAxe_wood, Item::pickAxe_stone, Item::pickAxe_iron, Item::pickAxe_emerald, Item::pickAxe_gold},
{Item::shovel_wood, Item::shovel_stone, Item::shovel_iron, Item::shovel_emerald, Item::shovel_gold},
{Item::hatchet_wood, Item::hatchet_stone, Item::hatchet_iron, Item::hatchet_emerald, Item::hatchet_gold},
{Item::hoe_wood, Item::hoe_stone, Item::hoe_iron, Item::hoe_emerald, Item::hoe_gold},
};
//const int OVERRIDDEN_MaterialCount = 2;
for (int m = 0; m < NumMaterials; m++) {
int mId = materialIds[m];
for (int t = 0; t < NumRecipes; t++) {
Item* target = (Item*) map[t][m];
if (mId < 256) { // Tile
r->addShapedRecipe( ItemInstance(target), shapes[t],
definition('#', Item::stick, 'X', Tile::tiles[mId]) );
} else { // Item
r->addShapedRecipe( ItemInstance(target), shapes[t],
definition('#', Item::stick, 'X', Item::items[mId]) );
}
}
}
r->addShapedRecipe( ItemInstance(Item::shears), //
" #", //
"# ", //
definition('#', Item::ironIngot));
}