From 5109b8c07a8c47ead95a9db3755e40176a96a7a4 Mon Sep 17 00:00:00 2001 From: isaiah Date: Sun, 1 Mar 2026 15:07:50 -0700 Subject: [PATCH] Add CMake build system and source files for Minecraft Client - Created Compile.md with detailed instructions for building the project using Visual Studio and CMake. - Added ClientSources.cmake to define the source files for the Minecraft Client. - Implemented CopyAssets.cmake to handle asset copying during the build process. - Introduced WorldSources.cmake to list the source files for Minecraft world functionalities. --- .gitignore | 2 + CMakeLists.txt | 82 +++++ Compile.md | 45 +++ README.md | 7 + cmake/ClientSources.cmake | 453 ++++++++++++++++++++++++ cmake/CopyAssets.cmake | 72 ++++ cmake/WorldSources.cmake | 707 ++++++++++++++++++++++++++++++++++++++ 7 files changed, 1368 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 Compile.md create mode 100644 cmake/ClientSources.cmake create mode 100644 cmake/CopyAssets.cmake create mode 100644 cmake/WorldSources.cmake diff --git a/.gitignore b/.gitignore index e24dba26..0a42b42e 100644 --- a/.gitignore +++ b/.gitignore @@ -422,3 +422,5 @@ Minecraft.World/Debug/ Minecraft.World/x64_Debug/ Minecraft.World/Release/ Minecraft.World/x64_Release/ + +build/* \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 00000000..a9ce5f69 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,82 @@ +cmake_minimum_required(VERSION 3.24) + +project(MinecraftConsoles LANGUAGES C CXX) + +if(NOT WIN32) + message(FATAL_ERROR "This CMake build currently supports Windows only.") +endif() + +if(NOT CMAKE_SIZEOF_VOID_P EQUAL 8) + message(FATAL_ERROR "Use a 64-bit generator/toolchain (x64).") +endif() + +set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>") + +include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/WorldSources.cmake") +include("${CMAKE_CURRENT_SOURCE_DIR}/cmake/ClientSources.cmake") + +list(TRANSFORM MINECRAFT_WORLD_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World/") +list(TRANSFORM MINECRAFT_CLIENT_SOURCES PREPEND "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/") + +add_library(MinecraftWorld STATIC ${MINECRAFT_WORLD_SOURCES}) +target_include_directories(MinecraftWorld PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World/x64headers" +) +target_compile_definitions(MinecraftWorld PRIVATE + $<$:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> + $<$>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_LIB;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> +) +if(MSVC) + target_compile_options(MinecraftWorld PRIVATE /W3 /MP /EHsc) +endif() + +add_executable(MinecraftClient WIN32 ${MINECRAFT_CLIENT_SOURCES}) +target_include_directories(MinecraftClient PRIVATE + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Iggy/include" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Xbox/Sentient/Include" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.World/x64headers" +) +target_compile_definitions(MinecraftClient PRIVATE + $<$:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_DEBUG;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> + $<$>:_LARGE_WORLDS;_DEBUG_MENUS_ENABLED;_CRT_NON_CONFORMING_SWPRINTFS;_CRT_SECURE_NO_WARNINGS;_WINDOWS64> +) +if(MSVC) + target_compile_options(MinecraftClient PRIVATE /W3 /MP /EHsc) +endif() + +set_target_properties(MinecraftClient PROPERTIES + VS_DEBUGGER_WORKING_DIRECTORY "$" +) + +target_link_libraries(MinecraftClient PRIVATE + MinecraftWorld + d3d11 + XInput9_1_0 + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Iggy/lib/iggy_w64.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/Miles/lib/mss64.lib" + $<$: + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Input_d.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Storage_d.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Profile_d.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Render_PC_d.lib" + > + $<$>: + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Input_r.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Storage_r.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Profile_r.lib" + "${CMAKE_CURRENT_SOURCE_DIR}/Minecraft.Client/Windows64/4JLibs/libs/4J_Render_PC.lib" + > +) + +add_custom_command(TARGET MinecraftClient POST_BUILD + COMMAND "${CMAKE_COMMAND}" + -DPROJECT_SOURCE_DIR="${CMAKE_CURRENT_SOURCE_DIR}" + -DOUTPUT_DIR="$" + -DCONFIGURATION=$ + -P "${CMAKE_CURRENT_SOURCE_DIR}/cmake/CopyAssets.cmake" + VERBATIM +) + +set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT MinecraftClient) diff --git a/Compile.md b/Compile.md new file mode 100644 index 00000000..6ebd198b --- /dev/null +++ b/Compile.md @@ -0,0 +1,45 @@ +# Compile Instructions + +## Visual Studio (`.sln`) + +1. Open `MinecraftConsoles.sln` in Visual Studio 2012. +2. Set `Minecraft.Client` as the Startup Project. +3. Select configuration: + - `Debug` (recommended), or + - `Release` +4. Select platform: `Windows64`. +5. Build and run: + - `Build > Build Solution` (or `Ctrl+Shift+B`) + - Start debugging with `F5`. + +## CMake (Windows x64) + +Configure (use your VS Community instance explicitly): + +```powershell +cmake -S . -B build -G "Visual Studio 17 2022" -A x64 -DCMAKE_GENERATOR_INSTANCE="C:/Program Files/Microsoft Visual Studio/2022/Community" +``` + +Build Debug: + +```powershell +cmake --build build --config Debug --target MinecraftClient +``` + +Build Release: + +```powershell +cmake --build build --config Release --target MinecraftClient +``` + +Run executable: + +```powershell +cd .\build\Debug +.\MinecraftClient.exe +``` + +Notes: +- The CMake build is Windows-only and x64-only. +- Post-build asset copy is automatic for `MinecraftClient` in CMake (Debug and Release variants). +- The game relies on relative paths (for example `Common\Media\...`), so launching from the output directory is required. diff --git a/README.md b/README.md index 6be5cd7e..dd9a7965 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,13 @@ This project contains the source code of Minecraft Legacy Console Edition v1.3.0 4. Make sure `Minecraft.Client` is set as the Startup Project 5. Set the build configuration to **Debug** (Release is also OK but has some bugs) and the target platform to **Windows64**, then build and run +### CMake (Windows x64) + +```powershell +cmake -S . -B build -G "Visual Studio 17 2022" -A x64 +cmake --build build --config Debug --target MinecraftClient +``` + ## Known Issues - Builds for other platforms have not been tested and are most likely non-functional diff --git a/cmake/ClientSources.cmake b/cmake/ClientSources.cmake new file mode 100644 index 00000000..dae96fd4 --- /dev/null +++ b/cmake/ClientSources.cmake @@ -0,0 +1,453 @@ +set(MINECRAFT_CLIENT_SOURCES + "AbstractTexturePack.cpp" + "crt_compat.cpp" + "AchievementPopup.cpp" + "AchievementScreen.cpp" + "AllowAllCuller.cpp" + "ArchiveFile.cpp" + "ArrowRenderer.cpp" + "BlazeModel.cpp" + "BlazeRenderer.cpp" + "BoatModel.cpp" + "BoatRenderer.cpp" + "BookModel.cpp" + "BreakingItemParticle.cpp" + "BubbleParticle.cpp" + "BufferedImage.cpp" + "Button.cpp" + "Camera.cpp" + "ChatScreen.cpp" + "ChestModel.cpp" + "ChestRenderer.cpp" + "ChickenModel.cpp" + "ChickenRenderer.cpp" + "Chunk.cpp" + "ClientConnection.cpp" + "ClientConstants.cpp" + "ClockTexture.cpp" + "Common/Audio/Consoles_SoundEngine.cpp" + "Common/Audio/SoundEngine.cpp" + "Common/Audio/SoundNames.cpp" + "Common/Colours/ColourTable.cpp" + "Common/Consoles_App.cpp" + "Common/DLC/DLCAudioFile.cpp" + "Common/DLC/DLCCapeFile.cpp" + "Common/DLC/DLCColourTableFile.cpp" + "Common/DLC/DLCFile.cpp" + "Common/DLC/DLCGameRulesFile.cpp" + "Common/DLC/DLCGameRulesHeader.cpp" + "Common/DLC/DLCLocalisationFile.cpp" + "Common/DLC/DLCManager.cpp" + "Common/DLC/DLCPack.cpp" + "Common/DLC/DLCSkinFile.cpp" + "Common/DLC/DLCTextureFile.cpp" + "Common/DLC/DLCUIDataFile.cpp" + "Common/GameRules/AddEnchantmentRuleDefinition.cpp" + "Common/GameRules/AddItemRuleDefinition.cpp" + "Common/GameRules/ApplySchematicRuleDefinition.cpp" + "Common/GameRules/BiomeOverride.cpp" + "Common/GameRules/CollectItemRuleDefinition.cpp" + "Common/GameRules/CompleteAllRuleDefinition.cpp" + "Common/GameRules/CompoundGameRuleDefinition.cpp" + "Common/GameRules/GameRule.cpp" + "Common/GameRules/GameRuleDefinition.cpp" + "Common/GameRules/GameRuleManager.cpp" + "Common/GameRules/LevelGenerationOptions.cpp" + "Common/GameRules/LevelGenerators.cpp" + "Common/GameRules/LevelRules.cpp" + "Common/GameRules/LevelRuleset.cpp" + "Common/GameRules/NamedAreaRuleDefinition.cpp" + "Common/GameRules/StartFeature.cpp" + "Common/GameRules/UpdatePlayerRuleDefinition.cpp" + "Common/GameRules/UseTileRuleDefinition.cpp" + "Common/GameRules/ConsoleGenerateStructure.cpp" + "Common/GameRules/ConsoleSchematicFile.cpp" + "Common/GameRules/XboxStructureActionGenerateBox.cpp" + "Common/GameRules/XboxStructureActionPlaceBlock.cpp" + "Common/GameRules/XboxStructureActionPlaceContainer.cpp" + "Common/GameRules/XboxStructureActionPlaceSpawner.cpp" + "Common/Leaderboards/LeaderboardManager.cpp" + "Common/Network/GameNetworkManager.cpp" + "Common/Network/PlatformNetworkManagerStub.cpp" + "Common/Telemetry/TelemetryManager.cpp" + "Common/Trial/TrialMode.cpp" + "Common/Tutorial/AreaConstraint.cpp" + "Common/Tutorial/AreaHint.cpp" + "Common/Tutorial/AreaTask.cpp" + "Common/Tutorial/ChangeStateConstraint.cpp" + "Common/Tutorial/ChoiceTask.cpp" + "Common/Tutorial/CompleteUsingItemTask.cpp" + "Common/Tutorial/ControllerTask.cpp" + "Common/Tutorial/CraftTask.cpp" + "Common/Tutorial/DiggerItemHint.cpp" + "Common/Tutorial/EffectChangedTask.cpp" + "Common/Tutorial/FullTutorial.cpp" + "Common/Tutorial/FullTutorialActiveTask.cpp" + "Common/Tutorial/FullTutorialMode.cpp" + "Common/Tutorial/InfoTask.cpp" + "Common/Tutorial/InputConstraint.cpp" + "Common/Tutorial/LookAtEntityHint.cpp" + "Common/Tutorial/LookAtTileHint.cpp" + "Common/Tutorial/PickupTask.cpp" + "Common/Tutorial/ProcedureCompoundTask.cpp" + "Common/Tutorial/ProgressFlagTask.cpp" + "Common/Tutorial/StatTask.cpp" + "Common/Tutorial/TakeItemHint.cpp" + "Common/Tutorial/Tutorial.cpp" + "Common/Tutorial/TutorialHint.cpp" + "Common/Tutorial/TutorialMessage.cpp" + "Common/Tutorial/TutorialMode.cpp" + "Common/Tutorial/TutorialTask.cpp" + "Common/Tutorial/UseItemTask.cpp" + "Common/Tutorial/UseTileTask.cpp" + "Common/Tutorial/XuiCraftingTask.cpp" + "Common/ConsoleGameMode.cpp" + "Common/Console_Utils.cpp" + "Common/UI/IUIScene_AbstractContainerMenu.cpp" + "Common/UI/IUIScene_AnvilMenu.cpp" + "Common/UI/IUIScene_BrewingMenu.cpp" + "Common/UI/IUIScene_ContainerMenu.cpp" + "Common/UI/IUIScene_CraftingMenu.cpp" + "Common/UI/IUIScene_CreativeMenu.cpp" + "Common/UI/IUIScene_DispenserMenu.cpp" + "Common/UI/IUIScene_EnchantingMenu.cpp" + "Common/UI/IUIScene_FurnaceMenu.cpp" + "Common/UI/IUIScene_InventoryMenu.cpp" + "Common/UI/IUIScene_PauseMenu.cpp" + "Common/UI/IUIScene_StartGame.cpp" + "Common/UI/IUIScene_TradingMenu.cpp" + "Common/UI/UIComponent_DebugUIMarketingGuide.cpp" + "Common/UI/UIScene_Keyboard.cpp" + "Common/UI/UIComponent_MenuBackground.cpp" + "Common/UI/UIComponent_PressStartToPlay.cpp" + "Common/UI/UIControl_Base.cpp" + "Common/UI/UIControl_BitmapIcon.cpp" + "Common/UI/UIControl_DLCList.cpp" + "Common/UI/UIControl_DynamicLabel.cpp" + "Common/UI/UIControl_EnchantmentBook.cpp" + "Common/UI/UIControl_EnchantmentButton.cpp" + "Common/UI/UIControl_HTMLLabel.cpp" + "Common/UI/UIControl_LeaderboardList.cpp" + "Common/UI/UIControl_MinecraftPlayer.cpp" + "Common/UI/UIControl_PlayerList.cpp" + "Common/UI/UIControl_SaveList.cpp" + "Common/UI/UIControl_SpaceIndicatorBar.cpp" + "Common/UI/UIControl_TexturePackList.cpp" + "Common/UI/UIFontData.cpp" + "Common/UI/UIScene_AnvilMenu.cpp" + "Common/UI/UIScene_ControlsMenu.cpp" + "Common/UI/UIScene_Credits.cpp" + "Common/UI/UIScene_DebugCreateSchematic.cpp" + "Common/UI/UIScene_DebugSetCamera.cpp" + "Common/UI/UIScene_DLCMainMenu.cpp" + "Common/UI/UIScene_DLCOffersMenu.cpp" + "Common/UI/UIScene_EndPoem.cpp" + "Common/UI/UIScene_EULA.cpp" + "Common/UI/UIScene_HowToPlay.cpp" + "Common/UI/UIScene_InGameHostOptionsMenu.cpp" + "Common/UI/UIScene_InGameInfoMenu.cpp" + "Common/UI/UIScene_InGamePlayerOptionsMenu.cpp" + "Common/UI/UIScene_LeaderboardsMenu.cpp" + "Common/UI/UIScene_MessageBox.cpp" + "Common/UI/UIBitmapFont.cpp" + "Common/UI/UIComponent_Chat.cpp" + "Common/UI/UIComponent_DebugUIConsole.cpp" + "Common/UI/UIComponent_Logo.cpp" + "Common/UI/UIComponent_Panorama.cpp" + "Common/UI/UIComponent_Tooltips.cpp" + "Common/UI/UIComponent_TutorialPopup.cpp" + "Common/UI/UIControl.cpp" + "Common/UI/UIController.cpp" + "Common/UI/UIControl_Button.cpp" + "Common/UI/UIControl_CheckBox.cpp" + "Common/UI/UIControl_Cursor.cpp" + "Common/UI/UIControl_Label.cpp" + "Common/UI/UIControl_PlayerSkinPreview.cpp" + "Common/UI/UIControl_Progress.cpp" + "Common/UI/UIControl_ButtonList.cpp" + "Common/UI/UIControl_Slider.cpp" + "Common/UI/UIControl_SlotList.cpp" + "Common/UI/UIControl_TextInput.cpp" + "Common/UI/UIGroup.cpp" + "Common/UI/UILayer.cpp" + "Common/UI/UIScene.cpp" + "Common/UI/UIScene_AbstractContainerMenu.cpp" + "Common/UI/UIScene_BrewingStandMenu.cpp" + "Common/UI/UIScene_ConnectingProgress.cpp" + "Common/UI/UIScene_ContainerMenu.cpp" + "Common/UI/UIScene_CraftingMenu.cpp" + "Common/UI/UIScene_CreateWorldMenu.cpp" + "Common/UI/UIScene_CreativeMenu.cpp" + "Common/UI/UIScene_DeathMenu.cpp" + "Common/UI/UIScene_DebugOptions.cpp" + "Common/UI/UIScene_DebugOverlay.cpp" + "Common/UI/UIScene_DispenserMenu.cpp" + "Common/UI/UIScene_EnchantingMenu.cpp" + "Common/UI/UIScene_FullscreenProgress.cpp" + "Common/UI/UIScene_FurnaceMenu.cpp" + "Common/UI/UIScene_HelpAndOptionsMenu.cpp" + "Common/UI/UIScene_HowToPlayMenu.cpp" + "Common/UI/UIScene_HUD.cpp" + "Common/UI/UIScene_Intro.cpp" + "Common/UI/UIScene_JoinMenu.cpp" + "Common/UI/UIScene_LaunchMoreOptionsMenu.cpp" + "Common/UI/UIScene_LoadMenu.cpp" + "Common/UI/UIScene_LoadOrJoinMenu.cpp" + "Common/UI/UIScene_MainMenu.cpp" + "Common/UI/UIScene_InventoryMenu.cpp" + "Common/UI/UIScene_PauseMenu.cpp" + "Common/UI/UIScene_QuadrantSignin.cpp" + "Common/UI/UIScene_ReinstallMenu.cpp" + "Common/UI/UIScene_SaveMessage.cpp" + "Common/UI/UIScene_SettingsAudioMenu.cpp" + "Common/UI/UIScene_SettingsControlMenu.cpp" + "Common/UI/UIScene_SettingsGraphicsMenu.cpp" + "Common/UI/UIScene_SettingsMenu.cpp" + "Common/UI/UIScene_SettingsOptionsMenu.cpp" + "Common/UI/UIScene_SettingsUIMenu.cpp" + "Common/UI/UIScene_SignEntryMenu.cpp" + "Common/UI/UIScene_SkinSelectMenu.cpp" + "Common/UI/UIScene_TeleportMenu.cpp" + "Common/UI/UIScene_Timer.cpp" + "Common/UI/UIScene_TradingMenu.cpp" + "Common/UI/UIScene_TrialExitUpsell.cpp" + "Common/UI/UITTFFont.cpp" + "Common/zlib/adler32.c" + "Common/zlib/compress.c" + "Common/zlib/crc32.c" + "Common/zlib/deflate.c" + "Common/zlib/gzclose.c" + "Common/zlib/gzlib.c" + "Common/zlib/gzread.c" + "Common/zlib/gzwrite.c" + "Common/zlib/infback.c" + "Common/zlib/inffast.c" + "Common/zlib/inflate.c" + "Common/zlib/inftrees.c" + "Common/zlib/trees.c" + "Common/zlib/uncompr.c" + "Common/zlib/zutil.c" + "CompassTexture.cpp" + "ConfirmScreen.cpp" + "ConsoleInput.cpp" + "ControlsScreen.cpp" + "CowModel.cpp" + "CowRenderer.cpp" + "CreateWorldScreen.cpp" + "CreeperModel.cpp" + "CreeperRenderer.cpp" + "CritParticle.cpp" + "CritParticle2.cpp" + "Cube.cpp" + "DeathScreen.cpp" + "DefaultRenderer.cpp" + "DefaultTexturePack.cpp" + "DemoLevel.cpp" + "DemoUser.cpp" + "DerivedServerLevel.cpp" + "DirtyChunkSorter.cpp" + "DistanceChunkSorter.cpp" + "DLCTexturePack.cpp" + "DragonBreathParticle.cpp" + "DragonModel.cpp" + "DripParticle.cpp" + "EchantmentTableParticle.cpp" + "EditBox.cpp" + "EnchantTableRenderer.cpp" + "EnderChestRenderer.cpp" + "EnderCrystalModel.cpp" + "EnderCrystalRenderer.cpp" + "EnderDragonRenderer.cpp" + "EndermanModel.cpp" + "EndermanRenderer.cpp" + "EnderParticle.cpp" + "EntityRenderDispatcher.cpp" + "EntityRenderer.cpp" + "EntityTileRenderer.cpp" + "EntityTracker.cpp" + "ErrorScreen.cpp" + "ExperienceOrbRenderer.cpp" + "ExplodeParticle.cpp" + "Extrax64Stubs.cpp" + "FallingTileRenderer.cpp" + "FileTexturePack.cpp" + "FireballRenderer.cpp" + "FishingHookRenderer.cpp" + "FlameParticle.cpp" + "FolderTexturePack.cpp" + "Font.cpp" + "FootstepParticle.cpp" + "Frustum.cpp" + "FrustumCuller.cpp" + "FrustumData.cpp" + "GameRenderer.cpp" + "GhastModel.cpp" + "GhastRenderer.cpp" + "GiantMobRenderer.cpp" + "glWrapper.cpp" + "Gui.cpp" + "GuiComponent.cpp" + "GuiMessage.cpp" + "GuiParticle.cpp" + "GuiParticles.cpp" + "HeartParticle.cpp" + "HttpTexture.cpp" + "HugeExplosionParticle.cpp" + "HugeExplosionSeedParticle.cpp" + "HumanoidMobRenderer.cpp" + "HumanoidModel.cpp" + "InBedChatScreen.cpp" + "Input.cpp" + "ItemFrameRenderer.cpp" + "ItemInHandRenderer.cpp" + "ItemRenderer.cpp" + "ItemSpriteRenderer.cpp" + "JoinMultiplayerScreen.cpp" + "KeyMapping.cpp" + "LargeChestModel.cpp" + "LavaParticle.cpp" + "LavaSlimeModel.cpp" + "LavaSlimeRenderer.cpp" + "LevelRenderer.cpp" + "Lighting.cpp" + "LightningBoltRenderer.cpp" + "MemoryTracker.cpp" + "MemTexture.cpp" + "MinecartModel.cpp" + "MinecartRenderer.cpp" + "Minecraft.cpp" + "MinecraftServer.cpp" + "Minimap.cpp" + "MobRenderer.cpp" + "MobSkinMemTextureProcessor.cpp" + "MobSkinTextureProcessor.cpp" + "MobSpawnerRenderer.cpp" + "Model.cpp" + "ModelPart.cpp" + "MultiPlayerChunkCache.cpp" + "MultiPlayerGameMode.cpp" + "MultiPlayerLevel.cpp" + "MultiPlayerLocalPlayer.cpp" + "MushroomCowRenderer.cpp" + "NameEntryScreen.cpp" + "NoteParticle.cpp" + "OffsettedRenderList.cpp" + "Options.cpp" + "OptionsScreen.cpp" + "OzelotModel.cpp" + "OzelotRenderer.cpp" + "PaintingRenderer.cpp" + "Particle.cpp" + "ParticleEngine.cpp" + "PauseScreen.cpp" + "PendingConnection.cpp" + "PigModel.cpp" + "PigRenderer.cpp" + "LocalPlayer.cpp" + "PistonPieceRenderer.cpp" + "PlayerChunkMap.cpp" + "PlayerCloudParticle.cpp" + "PlayerConnection.cpp" + "PlayerList.cpp" + "PreStitchedTextureMap.cpp" + "ProgressRenderer.cpp" + "PS3/PS3Extras/ShutdownManager.cpp" + "Rect2i.cpp" + "RemotePlayer.cpp" + "PlayerRenderer.cpp" + "Polygon.cpp" + "NetherPortalParticle.cpp" + "QuadrupedModel.cpp" + "RedDustParticle.cpp" + "RenameWorldScreen.cpp" + "Screen.cpp" + "ScreenSizeCalculator.cpp" + "ScrolledSelectionList.cpp" + "SelectWorldScreen.cpp" + "ServerChunkCache.cpp" + "ServerCommandDispatcher.cpp" + "ServerConnection.cpp" + "ServerPlayerGameMode.cpp" + "ServerLevel.cpp" + "ServerLevelListener.cpp" + "ServerPlayer.cpp" + "Settings.cpp" + "SheepFurModel.cpp" + "SheepModel.cpp" + "SheepRenderer.cpp" + "SignModel.cpp" + "SignRenderer.cpp" + "SilverfishModel.cpp" + "SilverfishRenderer.cpp" + "SimpleIcon.cpp" + "SkeletonHeadModel.cpp" + "SkeletonModel.cpp" + "SkullTileRenderer.cpp" + "SlideButton.cpp" + "SlimeModel.cpp" + "SlimeRenderer.cpp" + "SmallButton.cpp" + "SmokeParticle.cpp" + "SnowManModel.cpp" + "SnowManRenderer.cpp" + "SnowShovelParticle.cpp" + "SpellParticle.cpp" + "SpiderModel.cpp" + "SpiderRenderer.cpp" + "SplashParticle.cpp" + "SquidModel.cpp" + "SquidRenderer.cpp" + "StatsCounter.cpp" + "StatsScreen.cpp" + "StatsSyncher.cpp" + "stdafx.cpp" + "StitchedTexture.cpp" + "Stitcher.cpp" + "StitchSlot.cpp" + "StringTable.cpp" + "stubs.cpp" + "SuspendedParticle.cpp" + "SuspendedTownParticle.cpp" + "TakeAnimationParticle.cpp" + "TeleportCommand.cpp" + "TerrainParticle.cpp" + "Tesselator.cpp" + "TexOffs.cpp" + "Texture.cpp" + "TextureHolder.cpp" + "TextureManager.cpp" + "TextureMap.cpp" + "TexturePack.cpp" + "TexturePackRepository.cpp" + "Textures.cpp" + "TheEndPortalRenderer.cpp" + "TileEntityRenderDispatcher.cpp" + "TileEntityRenderer.cpp" + "TileRenderer.cpp" + "Timer.cpp" + "TitleScreen.cpp" + "TntRenderer.cpp" + "TrackedEntity.cpp" + "User.cpp" + "Vertex.cpp" + "VideoSettingsScreen.cpp" + "ViewportCuller.cpp" + "VillagerGolemModel.cpp" + "VillagerGolemRenderer.cpp" + "VillagerModel.cpp" + "VillagerRenderer.cpp" + "VillagerZombieModel.cpp" + "WaterDropParticle.cpp" + "Windows64/Iggy/gdraw/gdraw_d3d11.cpp" + "Windows64/Leaderboards/WindowsLeaderboardManager.cpp" + "Windows64/Windows64_App.cpp" + "Windows64/Windows64_Minecraft.cpp" + "Windows64/KeyboardMouseInput.cpp" + "Windows64/Windows64_UIController.cpp" + "WolfModel.cpp" + "WolfRenderer.cpp" + "WstringLookup.cpp" + "Xbox/Network/NetworkPlayerXbox.cpp" + "ZombieModel.cpp" + "ZombieRenderer.cpp" +) diff --git a/cmake/CopyAssets.cmake b/cmake/CopyAssets.cmake new file mode 100644 index 00000000..661ba785 --- /dev/null +++ b/cmake/CopyAssets.cmake @@ -0,0 +1,72 @@ +if(NOT DEFINED PROJECT_SOURCE_DIR OR NOT DEFINED OUTPUT_DIR OR NOT DEFINED CONFIGURATION) + message(FATAL_ERROR "CopyAssets.cmake requires PROJECT_SOURCE_DIR, OUTPUT_DIR, and CONFIGURATION.") +endif() + +# Some generators may pass quoted values (e.g. "Debug"); normalize that. +string(REPLACE "\"" "" PROJECT_SOURCE_DIR "${PROJECT_SOURCE_DIR}") +string(REPLACE "\"" "" OUTPUT_DIR "${OUTPUT_DIR}") +string(REPLACE "\"" "" CONFIGURATION "${CONFIGURATION}") + +set(_project_dir "${PROJECT_SOURCE_DIR}/Minecraft.Client") + +function(copy_tree_if_exists src_rel dst_rel) + set(_src "${_project_dir}/${src_rel}") + set(_dst "${OUTPUT_DIR}/${dst_rel}") + if(EXISTS "${_src}") + file(MAKE_DIRECTORY "${_dst}") + execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_directory "${_src}" "${_dst}") + endif() +endfunction() + +function(copy_file_if_exists src_rel dst_rel) + set(_src "${PROJECT_SOURCE_DIR}/${src_rel}") + set(_dst "${OUTPUT_DIR}/${dst_rel}") + if(EXISTS "${_src}") + get_filename_component(_dst_dir "${_dst}" DIRECTORY) + file(MAKE_DIRECTORY "${_dst_dir}") + execute_process(COMMAND "${CMAKE_COMMAND}" -E copy_if_different "${_src}" "${_dst}") + endif() +endfunction() + +function(copy_first_existing dst_rel) + set(_copied FALSE) + foreach(_candidate IN LISTS ARGN) + if(EXISTS "${PROJECT_SOURCE_DIR}/${_candidate}") + copy_file_if_exists("${_candidate}" "${dst_rel}") + set(_copied TRUE) + break() + endif() + endforeach() + if(NOT _copied) + message(WARNING "Runtime file not found for ${dst_rel}. Checked: ${ARGN}") + endif() +endfunction() + +if(CONFIGURATION STREQUAL "Debug") + copy_tree_if_exists("Durango/Sound" "Durango/Sound") + copy_tree_if_exists("music" "music") + copy_tree_if_exists("Windows64/GameHDD" "Windows64/GameHDD") + copy_tree_if_exists("Common/Media" "Common/Media") + copy_tree_if_exists("Common/res" "Common/res") + copy_tree_if_exists("Common/Trial" "Common/Trial") + copy_tree_if_exists("Common/Tutorial" "Common/Tutorial") +else() + copy_tree_if_exists("music" "music") + copy_tree_if_exists("Windows64/GameHDD" "Windows64/GameHDD") + copy_tree_if_exists("Common/Media" "Common/Media") + copy_tree_if_exists("Common/res" "Common/res") + copy_tree_if_exists("Common/Trial" "Common/Trial") + copy_tree_if_exists("Common/Tutorial" "Common/Tutorial") + copy_tree_if_exists("DurangoMedia" "Windows64Media") + copy_tree_if_exists("Windows64Media" "Windows64Media") +endif() + +# Runtime DLLs required at launch. +copy_first_existing("iggy_w64.dll" + "Minecraft.Client/Windows64/Iggy/lib/redist64/iggy_w64.dll" + "x64/${CONFIGURATION}/iggy_w64.dll" +) +copy_first_existing("mss64.dll" + "Minecraft.Client/Windows64/Miles/lib/redist64/mss64.dll" + "x64/${CONFIGURATION}/mss64.dll" +) diff --git a/cmake/WorldSources.cmake b/cmake/WorldSources.cmake new file mode 100644 index 00000000..3fca57b6 --- /dev/null +++ b/cmake/WorldSources.cmake @@ -0,0 +1,707 @@ +set(MINECRAFT_WORLD_SOURCES + "AABB.cpp" + "Abilities.cpp" + "AbstractContainerMenu.cpp" + "Achievement.cpp" + "Achievements.cpp" + "AddEntityPacket.cpp" + "AddExperienceOrbPacket.cpp" + "AddGlobalEntityPacket.cpp" + "AddIslandLayer.cpp" + "AddMobPacket.cpp" + "AddMushroomIslandLayer.cpp" + "AddPaintingPacket.cpp" + "AddPlayerPacket.cpp" + "AddSnowLayer.cpp" + "AgableMob.cpp" + "AirTile.cpp" + "Animal.cpp" + "AnimatePacket.cpp" + "AnvilTile.cpp" + "AnvilTileItem.cpp" + "ArmorDyeRecipe.cpp" + "ArmorItem.cpp" + "ArmorRecipes.cpp" + "ArmorSlot.cpp" + "Arrow.cpp" + "ArrowAttackGoal.cpp" + "ArrowDamageEnchantment.cpp" + "ArrowFireEnchantment.cpp" + "ArrowInfiniteEnchantment.cpp" + "ArrowKnockbackEnchantment.cpp" + "AuxDataTileItem.cpp" + "AvoidPlayerGoal.cpp" + "AwardStatPacket.cpp" + "BasicTree.cpp" + "BasicTypeContainers.cpp" + "BeachBiome.cpp" + "BedItem.cpp" + "BedTile.cpp" + "BegGoal.cpp" + "BinaryHeap.cpp" + "Biome.cpp" + "BiomeCache.cpp" + "BiomeDecorator.cpp" + "BiomeInitLayer.cpp" + "BiomeOverrideLayer.cpp" + "BiomeSource.cpp" + "BirchFeature.cpp" + "Blaze.cpp" + "BlockDestructionProgress.cpp" + "BlockGenMethods.cpp" + "BlockRegionUpdatePacket.cpp" + "BlockReplacements.cpp" + "Boat.cpp" + "BoatItem.cpp" + "BodyControl.cpp" + "BonusChestFeature.cpp" + "BookItem.cpp" + "BookshelfTile.cpp" + "BossMob.cpp" + "BossMobPart.cpp" + "BottleItem.cpp" + "BoundingBox.cpp" + "BowItem.cpp" + "BowlFoodItem.cpp" + "BreakDoorGoal.cpp" + "BreedGoal.cpp" + "BrewingStandMenu.cpp" + "BrewingStandTile.cpp" + "BrewingStandTileEntity.cpp" + "BucketItem.cpp" + "Buffer.cpp" + "BufferedOutputStream.cpp" + "BufferedReader.cpp" + "Bush.cpp" + "ButtonTile.cpp" + "ByteArrayInputStream.cpp" + "ByteArrayOutputStream.cpp" + "ByteBuffer.cpp" + "CactusFeature.cpp" + "CactusTile.cpp" + "CakeTile.cpp" + "CanyonFeature.cpp" + "CarrotOnAStickItem.cpp" + "CarrotTile.cpp" + "CauldronTile.cpp" + "CaveFeature.cpp" + "CaveSpider.cpp" + "ChatPacket.cpp" + "ChestTile.cpp" + "ChestTileEntity.cpp" + "Chicken.cpp" + "ChunkPos.cpp" + "ChunkStorageProfileDecorator.cpp" + "ChunkTilesUpdatePacket.cpp" + "ChunkVisibilityAreaPacket.cpp" + "ChunkVisibilityPacket.cpp" + "Class.cpp" + "ClayFeature.cpp" + "ClayTile.cpp" + "ClientCommandPacket.cpp" + "ClientSideMerchant.cpp" + "ClockItem.cpp" + "ClothDyeRecipes.cpp" + "ClothTile.cpp" + "ClothTileItem.cpp" + "CoalItem.cpp" + "CocoaTile.cpp" + "Color.cpp" + "ColoredTileItem.cpp" + "Command.cpp" + "CommandDispatcher.cpp" + "CommonStats.cpp" + "CompassItem.cpp" + "ComplexItem.cpp" + "ComplexItemDataPacket.cpp" + "CompoundContainer.cpp" + "CompressedTileStorage.cpp" + "compression.cpp" + "Connection.cpp" + "ConsoleSaveFileConverter.cpp" + "ConsoleSaveFileOriginal.cpp" + "Container.cpp" + "ContainerAckPacket.cpp" + "ContainerButtonClickPacket.cpp" + "ContainerClickPacket.cpp" + "ContainerClosePacket.cpp" + "ContainerOpenPacket.cpp" + "ContainerSetContentPacket.cpp" + "ContainerSetDataPacket.cpp" + "ContainerSetSlotPacket.cpp" + "ControlledByPlayerGoal.cpp" + "CoralTile.cpp" + "Cow.cpp" + "CraftingContainer.cpp" + "CraftingMenu.cpp" + "DefaultGameModeCommand.cpp" + "EnchantItemCommand.cpp" + "ExperienceCommand.cpp" + "GameCommandPacket.cpp" + "GameModeCommand.cpp" + "GenericStats.cpp" + "GiveItemCommand.cpp" + "KillCommand.cpp" + "PerformanceTimer.cpp" + "TimeCommand.cpp" + "ToggleDownfallCommand.cpp" + "TradeItemPacket.cpp" + "CraftItemPacket.cpp" + "Creature.cpp" + "Creeper.cpp" + "CropTile.cpp" + "CustomLevelSource.cpp" + "CustomPayloadPacket.cpp" + "DamageEnchantment.cpp" + "DamageSource.cpp" + "DataInputStream.cpp" + "DataLayer.cpp" + "DataOutputStream.cpp" + "DeadBushFeature.cpp" + "DeadBushTile.cpp" + "DebugOptionsPacket.cpp" + "DefendVillageTargetGoal.cpp" + "DelayedRelease.cpp" + "DerivedLevelData.cpp" + "DesertBiome.cpp" + "DesertWellFeature.cpp" + "DetectorRailTile.cpp" + "DigDurabilityEnchantment.cpp" + "DiggerItem.cpp" + "DiggingEnchantment.cpp" + "Dimension.cpp" + "DiodeTile.cpp" + "Direction.cpp" + "DirectionalTile.cpp" + "DirectoryLevelStorage.cpp" + "DirectoryLevelStorageSource.cpp" + "DirtTile.cpp" + "DisconnectPacket.cpp" + "DispenserTile.cpp" + "DispenserTileEntity.cpp" + "DoorInfo.cpp" + "DoorInteractGoal.cpp" + "DragonFireball.cpp" + "EatTileGoal.cpp" + "EggTile.cpp" + "EnchantedBookItem.cpp" + "Enchantment.cpp" + "EnchantmentCategory.cpp" + "EnchantmentContainer.cpp" + "EnchantmentHelper.cpp" + "EnchantmentInstance.cpp" + "EnchantmentMenu.cpp" + "EnchantmentTableEntity.cpp" + "EnchantmentTableTile.cpp" + "EnderChestTile.cpp" + "EnderChestTileEntity.cpp" + "EnderEyeItem.cpp" + "EnderpearlItem.cpp" + "EndPodiumFeature.cpp" + "ExperienceItem.cpp" + "ExtremeHillsBiome.cpp" + "Feature.cpp" + "EnderCrystal.cpp" + "EnderDragon.cpp" + "EyeOfEnderSignal.cpp" + "FireAspectEnchantment.cpp" + "FireChargeItem.cpp" + "FleeSunGoal.cpp" + "FlippedIcon.cpp" + "FloatGoal.cpp" + "FlowerPotTile.cpp" + "FollowOwnerGoal.cpp" + "FollowParentGoal.cpp" + "Goal.cpp" + "GoalSelector.cpp" + "GoldenAppleItem.cpp" + "Golem.cpp" + "GroundBushFeature.cpp" + "GrowMushroomIslandLayer.cpp" + "HalfSlabTile.cpp" + "HangingEntity.cpp" + "HangingEntityItem.cpp" + "HellFlatLevelSource.cpp" + "HurtByTargetGoal.cpp" + "IceBiome.cpp" + "InteractGoal.cpp" + "ItemFrame.cpp" + "JumpControl.cpp" + "JungleBiome.cpp" + "KickPlayerPacket.cpp" + "KnockbackEnchantment.cpp" + "LavaSlime.cpp" + "LeapAtTargetGoal.cpp" + "LevelSoundPacket.cpp" + "LookAtPlayerGoal.cpp" + "LookAtTradingPlayerGoal.cpp" + "LookControl.cpp" + "LootBonusEnchantment.cpp" + "MakeLoveGoal.cpp" + "MegaTreeFeature.cpp" + "MeleeAttackGoal.cpp" + "MerchantContainer.cpp" + "MerchantMenu.cpp" + "MerchantRecipe.cpp" + "MerchantRecipeList.cpp" + "MerchantResultSlot.cpp" + "MilkBucketItem.cpp" + "MonsterPlacerItem.cpp" + "MoveControl.cpp" + "MoveIndoorsGoal.cpp" + "MoveThroughVillageGoal.cpp" + "MoveTowardsRestrictionGoal.cpp" + "MoveTowardsTargetGoal.cpp" + "MultiTextureTileItem.cpp" + "MushroomCow.cpp" + "MushroomIslandBiome.cpp" + "MycelTile.cpp" + "NearestAttackableTargetGoal.cpp" + "NetherBridgeFeature.cpp" + "NetherBridgePieces.cpp" + "NetherStalkTile.cpp" + "NonTameRandomTargetGoal.cpp" + "Npc.cpp" + "OcelotSitOnTileGoal.cpp" + "OfferFlowerGoal.cpp" + "OpenDoorGoal.cpp" + "OwnerHurtByTargetGoal.cpp" + "OwnerHurtTargetGoal.cpp" + "OxygenEnchantment.cpp" + "Ozelot.cpp" + "OzelotAttackGoal.cpp" + "PanicGoal.cpp" + "PathNavigation.cpp" + "PlayerAbilitiesPacket.cpp" + "PlayerEnderChestContainer.cpp" + "PlayGoal.cpp" + "PotatoTile.cpp" + "PotionBrewing.cpp" + "PotionItem.cpp" + "ProtectionEnchantment.cpp" + "QuartzBlockTile.cpp" + "RandomLookAroundGoal.cpp" + "RandomPos.cpp" + "RandomScatteredLargeFeature.cpp" + "RandomStrollGoal.cpp" + "Rarity.cpp" + "RedlightTile.cpp" + "RegionHillsLayer.cpp" + "RepairContainer.cpp" + "RepairMenu.cpp" + "RepairResultSlot.cpp" + "RestrictOpenDoorGoal.cpp" + "RestrictSunGoal.cpp" + "RotateHeadPacket.cpp" + "ScatteredFeaturePieces.cpp" + "SeedFoodItem.cpp" + "Sensing.cpp" + "SitGoal.cpp" + "SkullItem.cpp" + "SkullTile.cpp" + "SkullTileEntity.cpp" + "SparseDataStorage.cpp" + "SwampRiversLayer.cpp" + "SwellGoal.cpp" + "TakeFlowerGoal.cpp" + "TamableAnimal.cpp" + "TargetGoal.cpp" + "TemptGoal.cpp" + "ThornsEnchantment.cpp" + "TileDestructionPacket.cpp" + "TileEventData.cpp" + "TradeWithPlayerGoal.cpp" + "TripWireSourceTile.cpp" + "TripWireTile.cpp" + "Village.cpp" + "VillagerGolem.cpp" + "Villages.cpp" + "VillageSiege.cpp" + "VinesFeature.cpp" + "WallTile.cpp" + "WeighedTreasure.cpp" + "WoodSlabTile.cpp" + "C4JThread.cpp" + "WoodTile.cpp" + "WoolCarpetTile.cpp" + "XZPacket.cpp" + "ShoreLayer.cpp" + "SmoothStoneBrickTileItem.cpp" + "SparseLightStorage.cpp" + "SpikeFeature.cpp" + "NetherSphere.cpp" + "SmallFireball.cpp" + "SnowMan.cpp" + "StoneMonsterTileItem.cpp" + "TextureAndGeometryChangePacket.cpp" + "TextureAndGeometryPacket.cpp" + "TheEndBiome.cpp" + "TheEndBiomeDecorator.cpp" + "TheEndDimension.cpp" + "TheEndLevelRandomLevelSource.cpp" + "TheEndPortal.cpp" + "TheEndPortalFrameTile.cpp" + "TheEndPortalTileEntity.cpp" + "Throwable.cpp" + "ThrownEnderpearl.cpp" + "ThrownExpBottle.cpp" + "ThrownPotion.cpp" + "TileEntityDataPacket.cpp" + "UntouchingEnchantment.cpp" + "UpdateGameRuleProgressPacket.cpp" + "Distort.cpp" + "DoorItem.cpp" + "DoorTile.cpp" + "DownfallLayer.cpp" + "DownfallMixerLayer.cpp" + "DungeonFeature.cpp" + "DyePowderItem.cpp" + "EggItem.cpp" + "Emboss.cpp" + "EmptyLevelChunk.cpp" + "EnderMan.cpp" + "Enemy.cpp" + "Entity.cpp" + "EntityActionAtPositionPacket.cpp" + "EntityDamageSource.cpp" + "EntityEventPacket.cpp" + "EntityIO.cpp" + "EntityPos.cpp" + "EntityTile.cpp" + "ExperienceOrb.cpp" + "ExplodePacket.cpp" + "Explosion.cpp" + "Facing.cpp" + "FallingTile.cpp" + "FarmTile.cpp" + "FastNoise.cpp" + "FenceGateTile.cpp" + "FenceTile.cpp" + "File.cpp" + "FileHeader.cpp" + "FileInputStream.cpp" + "FileOutputStream.cpp" + "Fireball.cpp" + "FireTile.cpp" + "FishingHook.cpp" + "FishingRodItem.cpp" + "FixedBiomeSource.cpp" + "FlatLayer.cpp" + "FlatLevelSource.cpp" + "FlintAndSteelItem.cpp" + "FloatBuffer.cpp" + "FlowerFeature.cpp" + "FlyingMob.cpp" + "FoliageColor.cpp" + "FoodConstants.cpp" + "FoodData.cpp" + "FoodItem.cpp" + "FoodRecipies.cpp" + "ForestBiome.cpp" + "FurnaceMenu.cpp" + "FurnaceRecipes.cpp" + "FurnaceResultSlot.cpp" + "FurnaceTile.cpp" + "FurnaceTileEntity.cpp" + "FuzzyZoomLayer.cpp" + "GameEventPacket.cpp" + "GeneralStat.cpp" + "GetInfoPacket.cpp" + "Ghast.cpp" + "Giant.cpp" + "GlassTile.cpp" + "GlobalEntity.cpp" + "GrassColor.cpp" + "GrassTile.cpp" + "GravelTile.cpp" + "HalfTransparentTile.cpp" + "Hasher.cpp" + "HatchetItem.cpp" + "HellBiome.cpp" + "HellDimension.cpp" + "HellFireFeature.cpp" + "HellPortalFeature.cpp" + "HellRandomLevelSource.cpp" + "HellSandTile.cpp" + "HellSpringFeature.cpp" + "HellStoneTile.cpp" + "HitResult.cpp" + "HoeItem.cpp" + "HouseFeature.cpp" + "HugeMushroomFeature.cpp" + "HugeMushroomTile.cpp" + "I18n.cpp" + "IceTile.cpp" + "ImprovedNoise.cpp" + "ContainerMenu.cpp" + "IndirectEntityDamageSource.cpp" + "InputStream.cpp" + "InputStreamReader.cpp" + "InstantenousMobEffect.cpp" + "IntBuffer.cpp" + "IntCache.cpp" + "InteractPacket.cpp" + "Inventory.cpp" + "InventoryMenu.cpp" + "IslandLayer.cpp" + "Item.cpp" + "ItemEntity.cpp" + "ItemInstance.cpp" + "ItemStat.cpp" + "KeepAlivePacket.cpp" + "LadderTile.cpp" + "LakeFeature.cpp" + "Language.cpp" + "LargeCaveFeature.cpp" + "LargeFeature.cpp" + "LargeHellCaveFeature.cpp" + "Layer.cpp" + "LeafTile.cpp" + "LeafTileItem.cpp" + "LevelConflictException.cpp" + "LevelData.cpp" + "Level.cpp" + "LevelChunk.cpp" + "LevelEventPacket.cpp" + "LevelSettings.cpp" + "LevelStorage.cpp" + "LevelStorageProfilerDecorator.cpp" + "LevelSummary.cpp" + "LevelType.cpp" + "LeverTile.cpp" + "LightGemFeature.cpp" + "LightGemTile.cpp" + "LightningBolt.cpp" + "LiquidTile.cpp" + "LiquidTileDynamic.cpp" + "LiquidTileStatic.cpp" + "LockedChestTile.cpp" + "LoginPacket.cpp" + "MapItem.cpp" + "MapItemSavedData.cpp" + "Material.cpp" + "MaterialColor.cpp" + "JavaMath.cpp" + "McRegionChunkStorage.cpp" + "McRegionLevelStorageSource.cpp" + "McRegionLevelStorage.cpp" + "MelonTile.cpp" + "MenuBackup.cpp" + "MetalTile.cpp" + "Minecart.cpp" + "MinecartItem.cpp" + "Minecraft.World.cpp" + "MineShaftFeature.cpp" + "MineShaftPieces.cpp" + "MineShaftStart.cpp" + "Mob.cpp" + "MobCategory.cpp" + "MobEffect.cpp" + "MobEffectInstance.cpp" + "MobSpawner.cpp" + "MobSpawnerTile.cpp" + "MobSpawnerTileEntity.cpp" + "MockedLevelStorage.cpp" + "Monster.cpp" + "MonsterRoomFeature.cpp" + "MoveEntityPacket.cpp" + "MoveEntityPacketSmall.cpp" + "MovePlayerPacket.cpp" + "Mth.cpp" + "Mushroom.cpp" + "MusicTile.cpp" + "MusicTileEntity.cpp" + "NbtIo.cpp" + "Node.cpp" + "NotGateTile.cpp" + "ObsidianTile.cpp" + "OldChunkStorage.cpp" + "OreFeature.cpp" + "OreRecipies.cpp" + "OreTile.cpp" + "Packet.cpp" + "PacketListener.cpp" + "Painting.cpp" + "Path.cpp" + "PathFinder.cpp" + "PathfinderMob.cpp" + "PerlinNoise.cpp" + "PerlinSimplexNoise.cpp" + "PickaxeItem.cpp" + "Pig.cpp" + "PigZombie.cpp" + "PineFeature.cpp" + "PistonBaseTile.cpp" + "PistonExtensionTile.cpp" + "PistonMovingPiece.cpp" + "PistonPieceEntity.cpp" + "PistonTileItem.cpp" + "PlainsBiome.cpp" + "Player.cpp" + "PlayerActionPacket.cpp" + "PlayerCommandPacket.cpp" + "PlayerInfoPacket.cpp" + "PlayerInputPacket.cpp" + "PortalForcer.cpp" + "PortalTile.cpp" + "Pos.cpp" + "PreLoginPacket.cpp" + "PressurePlateTile.cpp" + "PrimedTnt.cpp" + "PumpkinFeature.cpp" + "PumpkinTile.cpp" + "RailTile.cpp" + "RainforestBiome.cpp" + "Random.cpp" + "RandomLevelSource.cpp" + "ReadOnlyChunkCache.cpp" + "Recipes.cpp" + "RecordingItem.cpp" + "RecordPlayerTile.cpp" + "RedStoneDustTile.cpp" + "RedStoneItem.cpp" + "RedStoneOreTile.cpp" + "ReedsFeature.cpp" + "ReedTile.cpp" + "Region.cpp" + "RegionFile.cpp" + "RegionFileCache.cpp" + "RemoveEntitiesPacket.cpp" + "RemoveMobEffectPacket.cpp" + "RespawnPacket.cpp" + "ResultContainer.cpp" + "ResultSlot.cpp" + "RiverInitLayer.cpp" + "RiverLayer.cpp" + "RiverMixerLayer.cpp" + "Rotate.cpp" + "SaddleItem.cpp" + "SandFeature.cpp" + "SandStoneTile.cpp" + "HeavyTile.cpp" + "Sapling.cpp" + "SaplingTileItem.cpp" + "SavedData.cpp" + "SavedDataStorage.cpp" + "Scale.cpp" + "SeedItem.cpp" + "ServerSettingsChangedPacket.cpp" + "SetCarriedItemPacket.cpp" + "SetCreativeModeSlotPacket.cpp" + "SetEntityDataPacket.cpp" + "SetEntityMotionPacket.cpp" + "SetEquippedItemPacket.cpp" + "SetExperiencePacket.cpp" + "SetHealthPacket.cpp" + "SetRidingPacket.cpp" + "SetSpawnPositionPacket.cpp" + "SetTimePacket.cpp" + "ShapedRecipy.cpp" + "ShapelessRecipy.cpp" + "SharedConstants.cpp" + "ShearsItem.cpp" + "Sheep.cpp" + "ShovelItem.cpp" + "SignItem.cpp" + "SignTile.cpp" + "SignTileEntity.cpp" + "SignUpdatePacket.cpp" + "Silverfish.cpp" + "SimpleContainer.cpp" + "SimplexNoise.cpp" + "Skeleton.cpp" + "Slime.cpp" + "Slot.cpp" + "SmoothFloat.cpp" + "SmoothLayer.cpp" + "SmoothStoneBrickTile.cpp" + "SmoothZoomLayer.cpp" + "Snowball.cpp" + "SnowballItem.cpp" + "SnowTile.cpp" + "Socket.cpp" + "Spider.cpp" + "Sponge.cpp" + "SpringFeature.cpp" + "SpringTile.cpp" + "SpruceFeature.cpp" + "Squid.cpp" + "Stat.cpp" + "Stats.cpp" + "StairTile.cpp" + "stdafx.cpp" + "StemTile.cpp" + "StoneMonsterTile.cpp" + "StoneSlabTile.cpp" + "StoneSlabTileItem.cpp" + "StoneTile.cpp" + "StringHelpers.cpp" + "StrongholdFeature.cpp" + "StrongholdPieces.cpp" + "StructureFeature.cpp" + "StructurePiece.cpp" + "StructureRecipies.cpp" + "StructureStart.cpp" + "SwampBiome.cpp" + "SwampTreeFeature.cpp" + "SynchedEntityData.cpp" + "Synth.cpp" + "system.cpp" + "Tag.cpp" + "TaigaBiome.cpp" + "TakeItemEntityPacket.cpp" + "TallGrass.cpp" + "TallGrassFeature.cpp" + "TeleportEntityPacket.cpp" + "TemperatureLayer.cpp" + "TemperatureMixerLayer.cpp" + "TextureChangePacket.cpp" + "TexturePacket.cpp" + "ThinFenceTile.cpp" + "ThreadName.cpp" + "ThrownEgg.cpp" + "TickNextTickData.cpp" + "Tile.cpp" + "TileEventPacket.cpp" + "TileItem.cpp" + "TileEntity.cpp" + "TilePlanterItem.cpp" + "TilePos.cpp" + "TileUpdatePacket.cpp" + "TntTile.cpp" + "ToolRecipies.cpp" + "TopSnowTile.cpp" + "TorchTile.cpp" + "TransparentTile.cpp" + "TrapDoorTile.cpp" + "TrapMenu.cpp" + "TreeFeature.cpp" + "TreeTileItem.cpp" + "UpdateMobEffectPacket.cpp" + "UpdateProgressPacket.cpp" + "UseItemPacket.cpp" + "Vec3.cpp" + "VillageFeature.cpp" + "VillagePieces.cpp" + "Villager.cpp" + "VineTile.cpp" + "VoronoiZoom.cpp" + "WaterColor.cpp" + "WaterLevelChunk.cpp" + "WaterlilyFeature.cpp" + "WaterLilyTile.cpp" + "WaterLilyTileItem.cpp" + "WaterWorkerEnchantment.cpp" + "WeaponItem.cpp" + "WeaponRecipies.cpp" + "WeighedRandom.cpp" + "Wolf.cpp" + "TreeTile.cpp" + "WebTile.cpp" + "WorkbenchTile.cpp" + "ConsoleSaveFileInputStream.cpp" + "ConsoleSaveFileOutputStream.cpp" + "Zombie.cpp" + "WaterAnimal.cpp" + "ZoomLayer.cpp" +)