the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include "CraftTask.h"
3#include "..\..\..\Minecraft.World\net.minecraft.world.item.h"
4
5CraftTask::CraftTask( int itemId, int auxValue, int quantity,
6 Tutorial *tutorial, int descriptionId, bool enablePreCompletion /*= true*/, vector<TutorialConstraint *> *inConstraints /*= NULL*/,
7 bool bShowMinimumTime /*=false*/, bool bAllowFade /*=true*/, bool m_bTaskReminders /*=true*/ )
8 : TutorialTask(tutorial, descriptionId, enablePreCompletion, inConstraints, bShowMinimumTime, bAllowFade, m_bTaskReminders ),
9 m_quantity( quantity ),
10 m_count( 0 )
11{
12 m_numItems = 1;
13 m_items = new int[1];
14 m_items[0] = itemId;
15 m_auxValues = new int[1];
16 m_auxValues[0] = auxValue;
17}
18
19CraftTask::CraftTask( int *items, int *auxValues, int numItems, int quantity,
20 Tutorial *tutorial, int descriptionId, bool enablePreCompletion /*= true*/, vector<TutorialConstraint *> *inConstraints /*= NULL*/,
21 bool bShowMinimumTime /*=false*/, bool bAllowFade /*=true*/, bool m_bTaskReminders /*=true*/ )
22 : TutorialTask(tutorial, descriptionId, enablePreCompletion, inConstraints, bShowMinimumTime, bAllowFade, m_bTaskReminders ),
23 m_quantity( quantity ),
24 m_count( 0 )
25{
26 m_numItems = numItems;
27 m_items = new int[m_numItems];
28 m_auxValues = new int[m_numItems];
29
30 for(int i = 0; i < m_numItems; ++i)
31 {
32 m_items[i] = items[i];
33 m_auxValues[i] = auxValues[i];
34 }
35}
36
37CraftTask::~CraftTask()
38{
39 delete[] m_items;
40 delete[] m_auxValues;
41}
42
43void CraftTask::onCrafted(shared_ptr<ItemInstance> item)
44{
45#ifndef _CONTENT_PACKAGE
46 wprintf(L"CraftTask::onCrafted - %ls\n", item->toString().c_str() );
47#endif
48 bool itemFound = false;
49 for(int i = 0; i < m_numItems; ++i)
50 {
51 if(m_items[i] == item->id && (m_auxValues[i] == -1 || m_auxValues[i] == item->getAuxValue()))
52 {
53 itemFound = true;
54 break;
55 }
56 }
57
58 if(itemFound)
59 {
60 ++m_count;
61 }
62 if( m_count >= m_quantity)
63 {
64 bIsCompleted = true;
65 }
66}