aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Windows64/Windows64_App.cpp
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Windows64/Windows64_App.cpp
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Windows64/Windows64_App.cpp')
-rw-r--r--Minecraft.Client/Windows64/Windows64_App.cpp133
1 files changed, 133 insertions, 0 deletions
diff --git a/Minecraft.Client/Windows64/Windows64_App.cpp b/Minecraft.Client/Windows64/Windows64_App.cpp
new file mode 100644
index 00000000..ef9f6cf6
--- /dev/null
+++ b/Minecraft.Client/Windows64/Windows64_App.cpp
@@ -0,0 +1,133 @@
+#include "stdafx.h"
+#include "..\Common\Consoles_App.h"
+#include "..\User.h"
+#include "..\..\Minecraft.Client\Minecraft.h"
+#include "..\..\Minecraft.Client\MinecraftServer.h"
+#include "..\..\Minecraft.Client\PlayerList.h"
+#include "..\..\Minecraft.Client\ServerPlayer.h"
+#include "..\..\Minecraft.World\Level.h"
+#include "..\..\Minecraft.World\LevelSettings.h"
+#include "..\..\Minecraft.World\BiomeSource.h"
+#include "..\..\Minecraft.World\LevelType.h"
+
+CConsoleMinecraftApp app;
+
+CConsoleMinecraftApp::CConsoleMinecraftApp() : CMinecraftApp()
+{
+}
+
+void CConsoleMinecraftApp::SetRichPresenceContext(int iPad, int contextId)
+{
+ ProfileManager.SetRichPresenceContextValue(iPad,CONTEXT_GAME_STATE,contextId);
+}
+
+void CConsoleMinecraftApp::StoreLaunchData()
+{
+}
+void CConsoleMinecraftApp::ExitGame()
+{
+}
+void CConsoleMinecraftApp::FatalLoadError()
+{
+}
+
+void CConsoleMinecraftApp::CaptureSaveThumbnail()
+{
+}
+void CConsoleMinecraftApp::GetSaveThumbnail(PBYTE *pbData,DWORD *pdwSize)
+{
+}
+void CConsoleMinecraftApp::ReleaseSaveThumbnail()
+{
+}
+
+void CConsoleMinecraftApp::GetScreenshot(int iPad,PBYTE *pbData,DWORD *pdwSize)
+{
+}
+
+void CConsoleMinecraftApp::TemporaryCreateGameStart()
+{
+ ////////////////////////////////////////////////////////////////////////////////////////////// From CScene_Main::OnInit
+
+ app.setLevelGenerationOptions(NULL);
+
+ // From CScene_Main::RunPlayGame
+ Minecraft *pMinecraft=Minecraft::GetInstance();
+ app.ReleaseSaveThumbnail();
+ ProfileManager.SetLockedProfile(0);
+ pMinecraft->user->name = L"Windows";
+ app.ApplyGameSettingsChanged(0);
+
+ ////////////////////////////////////////////////////////////////////////////////////////////// From CScene_MultiGameJoinLoad::OnInit
+ MinecraftServer::resetFlags();
+
+ // From CScene_MultiGameJoinLoad::OnNotifyPressEx
+ app.SetTutorialMode( false );
+ app.SetCorruptSaveDeleted(false);
+
+ ////////////////////////////////////////////////////////////////////////////////////////////// From CScene_MultiGameCreate::CreateGame
+
+ app.ClearTerrainFeaturePosition();
+ wstring wWorldName = L"TestWorld";
+
+ StorageManager.ResetSaveData();
+ StorageManager.SetSaveTitle(wWorldName.c_str());
+
+ bool isFlat = false;
+ __int64 seedValue = 0; // BiomeSource::findSeed(isFlat?LevelType::lvl_flat:LevelType::lvl_normal); // 4J - was (new Random())->nextLong() - now trying to actually find a seed to suit our requirements
+
+ NetworkGameInitData *param = new NetworkGameInitData();
+ param->seed = seedValue;
+ param->saveData = NULL;
+
+ app.SetGameHostOption(eGameHostOption_Difficulty,0);
+ app.SetGameHostOption(eGameHostOption_FriendsOfFriends,0);
+ app.SetGameHostOption(eGameHostOption_Gamertags,1);
+ app.SetGameHostOption(eGameHostOption_BedrockFog,1);
+
+ app.SetGameHostOption(eGameHostOption_GameType,GameType::CREATIVE->getId() ); // LevelSettings::GAMETYPE_SURVIVAL
+ app.SetGameHostOption(eGameHostOption_LevelType, 0 );
+ app.SetGameHostOption(eGameHostOption_Structures, 1 );
+ app.SetGameHostOption(eGameHostOption_BonusChest, 0 );
+
+ app.SetGameHostOption(eGameHostOption_PvP, 1);
+ app.SetGameHostOption(eGameHostOption_TrustPlayers, 1 );
+ app.SetGameHostOption(eGameHostOption_FireSpreads, 1 );
+ app.SetGameHostOption(eGameHostOption_TNT, 1 );
+ app.SetGameHostOption(eGameHostOption_HostCanFly, 1);
+ app.SetGameHostOption(eGameHostOption_HostCanChangeHunger, 1);
+ app.SetGameHostOption(eGameHostOption_HostCanBeInvisible, 1 );
+
+ param->settings = app.GetGameHostOption( eGameHostOption_All );
+
+ g_NetworkManager.FakeLocalPlayerJoined();
+
+ LoadingInputParams *loadingParams = new LoadingInputParams();
+ loadingParams->func = &CGameNetworkManager::RunNetworkGameThreadProc;
+ loadingParams->lpParam = (LPVOID)param;
+
+ // Reset the autosave time
+ app.SetAutosaveTimerTime();
+
+ C4JThread* thread = new C4JThread(loadingParams->func, loadingParams->lpParam, "RunNetworkGame");
+ thread->Run();
+}
+
+int CConsoleMinecraftApp::GetLocalTMSFileIndex(WCHAR *wchTMSFile,bool bFilenameIncludesExtension,eFileExtensionType eEXT)
+{
+ return -1;
+}
+
+int CConsoleMinecraftApp::LoadLocalTMSFile(WCHAR *wchTMSFile)
+{
+ return -1;
+}
+
+int CConsoleMinecraftApp::LoadLocalTMSFile(WCHAR *wchTMSFile, eFileExtensionType eExt)
+{
+ return -1;
+}
+
+void CConsoleMinecraftApp::FreeLocalTMSFiles(eTMSFileType eType)
+{
+}