Something went wrong. Try again.
the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
Something went wrong. Try again.
3.1 kB · 124 lines
C++
at main
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124#include "stdafx.h"#include <memory>#include "..\..\Minecraft.h"#include "..\..\MultiplayerLocalPlayer.h"#include "..\..\MultiPlayerLevel.h"#include "..\..\..\Minecraft.World\Inventory.h"#include "..\..\..\Minecraft.World\net.minecraft.world.item.h"#include "..\..\..\Minecraft.World\net.minecraft.world.level.h"#include "..\..\..\Minecraft.World\net.minecraft.world.level.tile.h"#include "TutorialMode.h"
TutorialMode::TutorialMode(int iPad, Minecraft *minecraft, ClientConnection *connection) : MultiPlayerGameMode( minecraft, connection ), m_iPad( iPad ){}
TutorialMode::~TutorialMode(){ if(tutorial != NULL) delete tutorial;}
void TutorialMode::startDestroyBlock(int x, int y, int z, int face){ if(!tutorial->m_allTutorialsComplete) { int t = minecraft->level->getTile(x, y, z); tutorial->startDestroyBlock(minecraft->player->inventory->getSelected(), Tile::tiles[t]); } MultiPlayerGameMode::startDestroyBlock( x, y, z, face );}
bool TutorialMode::destroyBlock(int x, int y, int z, int face){ if(!tutorial->m_allTutorialsComplete) { int t = minecraft->level->getTile(x, y, z); tutorial->destroyBlock(Tile::tiles[t]); } shared_ptr<ItemInstance> item = minecraft->player->getSelectedItem(); int damageBefore; if(item != NULL) { damageBefore = item->getDamageValue(); } bool changed = MultiPlayerGameMode::destroyBlock( x, y, z, face );
if(!tutorial->m_allTutorialsComplete) { if ( item != NULL && item->isDamageableItem() ) { int max = item->getMaxDamage(); int damageNow = item->getDamageValue();
if(damageNow > damageBefore && damageNow > (max/2) ) { tutorial->itemDamaged( item ); } } }
return changed;}
void TutorialMode::tick(){ MultiPlayerGameMode::tick();
if(!tutorial->m_allTutorialsComplete) tutorial->tick();
/* if( tutorial.m_allTutorialsComplete && (tutorial.lastMessageTime + m_iTutorialDisplayMessageTime) < GetTickCount() ) { // Exit tutorial minecraft->gameMode = new SurvivalMode( this ); delete this; } */}
bool TutorialMode::useItemOn(shared_ptr<Player> player, Level *level, shared_ptr<ItemInstance> item, int x, int y, int z, int face, Vec3 *hit, bool bTestUseOnly, bool *pbUsedItem){ bool haveItem = false; int itemCount = 0; if(!tutorial->m_allTutorialsComplete) { tutorial->useItemOn(level, item, x, y, z, bTestUseOnly);
if(!bTestUseOnly) { if(item != NULL) { haveItem = true; itemCount = item->count; } } } bool result = MultiPlayerGameMode::useItemOn( player, level, item, x, y, z, face, hit, bTestUseOnly, pbUsedItem );
if(!bTestUseOnly) { if(!tutorial->m_allTutorialsComplete) { if( result && haveItem && itemCount > item->count ) { tutorial->useItemOn(item); } } } return result;}
void TutorialMode::attack(shared_ptr<Player> player, shared_ptr<Entity> entity){ if(!tutorial->m_allTutorialsComplete) tutorial->attack(player, entity);
MultiPlayerGameMode::attack( player, entity );}
bool TutorialMode::isInputAllowed(int mapping){ return tutorial->m_allTutorialsComplete || tutorial->isInputAllowed( mapping );}