the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 125 lines 3.4 kB view raw
1#include "stdafx.h" 2#include "DemoMode.h" 3#include "..\Minecraft.World\net.minecraft.world.level.h" 4 5DemoMode::DemoMode(Minecraft *minecraft) : SurvivalMode(minecraft) 6{ 7 demoHasEnded = false; 8 demoEndedReminder = 0; 9} 10 11void DemoMode::tick() 12{ 13 SurvivalMode::tick(); 14 15/* 4J - TODO - seems unlikely we need this demo mode anyway 16 __int64 time = minecraft->level->getTime(); 17 __int64 day = (time / Level::TICKS_PER_DAY) + 1; 18 19 demoHasEnded = (time > (500 + Level::TICKS_PER_DAY * DEMO_DAYS)); 20 if (demoHasEnded) 21 { 22 demoEndedReminder++; 23 } 24 25 if ((time % Level::TICKS_PER_DAY) == 500) 26 { 27 if (day <= (DEMO_DAYS + 1)) 28 { 29 minecraft->gui->displayClientMessage(L"demo.day." + _toString<__int64>(day)); 30 } 31 } 32 else if (day == 1) 33 { 34 Options *options = minecraft->options; 35 wstring message; 36 37 if (time == 100) { 38 minecraft.gui.addMessage("Seed: " + minecraft.level.getSeed()); 39 message = language.getElement("demo.help.movement"); 40 message = String.format(message, Keyboard.getKeyName(options.keyUp.key), Keyboard.getKeyName(options.keyLeft.key), Keyboard.getKeyName(options.keyDown.key), 41 Keyboard.getKeyName(options.keyRight.key)); 42 } else if (time == 175) { 43 message = language.getElement("demo.help.jump"); 44 message = String.format(message, Keyboard.getKeyName(options.keyJump.key)); 45 } else if (time == 250) { 46 message = language.getElement("demo.help.inventory"); 47 message = String.format(message, Keyboard.getKeyName(options.keyBuild.key)); 48 } 49 if (message != null) { 50 minecraft.gui.addMessage(message); 51 } 52 } else if (day == DEMO_DAYS) { 53 if ((time % Level.TICKS_PER_DAY) == 22000) { 54 minecraft.gui.displayClientMessage("demo.day.warning"); 55 } 56 } 57*/ 58} 59 60void DemoMode::outputDemoReminder() 61{ 62/* 4J - TODO 63 if (demoEndedReminder > 100) { 64 minecraft.gui.displayClientMessage("demo.reminder"); 65 demoEndedReminder = 0; 66 } 67 */ 68} 69 70void DemoMode::startDestroyBlock(int x, int y, int z, int face) 71{ 72 if (demoHasEnded) 73 { 74 outputDemoReminder(); 75 return; 76 } 77 SurvivalMode::startDestroyBlock(x, y, z, face); 78} 79 80void DemoMode::continueDestroyBlock(int x, int y, int z, int face) 81{ 82 if (demoHasEnded) 83 { 84 return; 85 } 86 SurvivalMode::continueDestroyBlock(x, y, z, face); 87} 88 89bool DemoMode::destroyBlock(int x, int y, int z, int face) 90{ 91 if (demoHasEnded) 92 { 93 return false; 94 } 95 return SurvivalMode::destroyBlock(x, y, z, face); 96} 97 98bool DemoMode::useItem(shared_ptr<Player> player, Level *level, shared_ptr<ItemInstance> item) 99{ 100 if (demoHasEnded) 101 { 102 outputDemoReminder(); 103 return false; 104 } 105 return SurvivalMode::useItem(player, level, item); 106} 107 108bool DemoMode::useItemOn(shared_ptr<Player> player, Level *level, shared_ptr<ItemInstance> item, int x, int y, int z, int face) 109{ 110 if (demoHasEnded) { 111 outputDemoReminder(); 112 return false; 113 } 114 return SurvivalMode::useItemOn(player, level, item, x, y, z, face); 115} 116 117void DemoMode::attack(shared_ptr<Player> player, shared_ptr<Entity> entity) 118{ 119 if (demoHasEnded) 120 { 121 outputDemoReminder(); 122 return; 123 } 124 SurvivalMode::attack(player, entity); 125}