* fix: fix multiplayer player data mix between different players bug
Fixes a Win64 multiplayer issue where player data (`players/*.dat`) could be mismatched because identity was effectively tied to connection-order `smallId` XUIDs.
Introduces a deterministic username-derived persistent XUID and integrates it into the existing XUID-based save pipeline.
- Added `Windows64_NameXuid` for deterministic `name -> persistent xuid` resolution
- On Win64 login (`PlayerList`), set `ServerPlayer::xuid` from username-based resolver
- Aligned local player `xuid` assignment (`Minecraft`) for create/init/respawn paths to use the same resolver
- Added Win64 local-self guard in `ClientConnection::handleAddPlayer` using name match to avoid duplicate local remote-player creation
- Kept `IQNet::GetPlayerByXuid` compatibility fallback behavior, while extending lookup to also resolve username-based XUIDs
- Moved implementation to `Minecraft.Client/Windows64/Windows64_NameXuid.h`; kept legacy `Win64NameXuid.h` as compatibility include
Rename migration is intentionally out of scope (same-name identity only).
* fix: preserve legacy host xuid (base xuid + 0) for existing world compatibility
- Add legacy embedded host XUID helper (base + 0).
- When Minecraft.Client is hosting, force only the first host player to use legacy host XUID.
- Keep name-based XUID for non-host players.
- Prevent old singleplayer/hosted worlds from losing/mismatching host player data.
* update: migrate Win64 player uid to `uid.dat`-backed XUID and add XUID based duplicate login guards
- Replace Win64 username-derived XUID resolution with persistent `uid.dat`-backed identity (`Windows64_Xuid` / `Win64Xuid`).
- Persist a per-client XUID next to the executable, with first-run generation, read/write, and process-local caching.
- Keep legacy host compatibility by pinning host self to legacy embedded `base + 0` XUID for existing world/playerdata continuity.
- Propagate packet-authoritative XUIDs into QNet player slots via `m_resolvedXuid`, and use it for `GetXuid`/`GetPlayerByXuid` with legacy fallback.
- Update Win64 profile/network paths to use persistent XUID for non-host clients and clear resolved identity on disconnect.
- Add login-time duplicate checks: reject connections when the same XUID is already connected (in addition to existing duplicate-name checks on Win64).
- Add inline compatibility comments around legacy/new identity coexistence paths for easier future maintenance.
* update: ensure uid.dat exists at startup in client mode for multiplayer
People keep breaking random stuff by using these settings, so turn them
off for now in release builds. If folks can figure out how to compile a
debug build locally, they can use em :)
* Fix world save rename not applying new name
KeyboardCompleteWorldNameCallback had no _WINDOWS64 branch, so the
typed name was validated then silently discarded on every rename attempt.
Write the new name to a worldname.txt sidecar file next to the save
(Windows64\GameHDD\{folder}\worldname.txt) and update the in-memory
display name immediately. ReadLevelNameFromSaveFile now checks for this
sidecar first so renamed saves persist correctly across restarts.
* Fixed gamertag being blank upon renaming and re-joining a save
* Save deletion fix, exiting without saving fix
* Add native in-game keyboard UI for world naming and renaming
* Code to read servers.txt
* logging (still doesnt work)
* server names load properly hooray
* remove logger as it only spews out nonsense anyways
* Do not use _countof, use sizeof(label)/sizeof(wchar_t) or make label std::array<wchar_t, 128> and call .size()
* Fix memory leak by listing info pointers
* C++ style cast (i think)
* this throws a RAV but why
* why oh why
* I just assume infos get deleted elsewhere otherwise idk why it breaks no matter what i do
* they get deleted all this time ohhhhhh
---------
Co-authored-by: Siepert123 <createlegacy69@gmail.com>
* Fix DLCs textures and crash in 720p
* Revert "Fix DLCs textures and crash in 720p"
This reverts commit 7c38605360.
* Update Durango and Windows64 DLCs Textures also fix crash in 720p
People keep going "Oh no I don't like the red WINDOWS text, oh no! I hate it!
The red windows text is the devil, it will be my undoing! Please remove the red
windows text or I shall simply perish!" And for that? Well, I have removed it. Now
you can enjoy this logo made by @wiskerdmage in the style of the existing Edition
logos. (https://github.com/smartcmd/MinecraftConsoles/pull/385#issuecomment-3996671081)
Preserve smooth row-by-row scrolling for mouse wheel input, but restore
full-page movement for controller/menu scroll actions in the creative
inventory.
Commit 3093ca3 changed page indexing to support smooth scrolling, which
caused ACTION_MENU_OTHER_STICK_UP/DOWN to advance by one row instead of
one page. Track whether the scroll action originated from the mouse
wheel and only use single-row steps in that case.
Fixes#253
* Fix: Sorted the item list in the debug overlay
* revert show all files to false
* Revert ShowAllFiles by removing it
* removed extra line
* Adressed PR review changes
* Replaced push_back with emplace_back
* Removed redundant emplace_back
Fix vector out-of-bounds crash when scrolling the potions tab in the creative inventory with Art Tools debug enabled.
- Fix getPageCount() returning total rows instead of scrollable pages in Art Tools mode
- Fix off-by-one boundary check in populateMenu() for both static and debug group loops (< should be <=)
Fixes#386
* fix saving issue & multiple username implementations
* Update README.md
Updated the method for overriding in-game username from '-name' to 'username.txt'.
* remove unused include i forgot to get rid of while testing
* Allow for loading of WAVE Audio files
* Remove usage of strcpy and use _s versions of file opening
* Update SoundEngine.cpp
---------
Co-authored-by: void_17 <61356189+void2012@users.noreply.github.com>
* now possible to accept and decline tutorial hints
that part when it asks if you want to do the tutorial (should work for when the games asks if you already know something like when opening inventories for the first time)
* Update ChoiceTask.cpp
* now able to press SPACE to continue on hints that wait for you to press A
and the hints what wait for you to move the gamepad stick now just skip instantly
* windows specific patch now
* added ifdefs to shit i did
* i think it is fixed now
---------
Co-authored-by: daoge <3523206925@qq.com>