Commit graph

238 commits

Author SHA1 Message Date
Kevin ea65542c1b
Add Chat / Pastes / Formatting (#682)
* Initial fixes for ContainerSetSlotPacket and CraftItemPacket

* Chat: paste, history, § formatting, 1-9 block when open (Windows64)

Made-with: Cursor

* static_cast refactor
2026-03-06 09:52:28 -06:00
GuglioIsStupid de46641cda
Reimplement miles sound artifacts, Stone Brick Stairs recipe, and craft sound (#684)
* Reimplement miles sound artifacts

* Fix stone brick stairs recipe

* Fix craft and scroll sound
2026-03-06 01:45:25 -06:00
Eribetra 0469e982ce
Replace .ogg music with their Java edition counterparts (#677)
* Replace .ogg music with their Java edition counterparts

Now that we are using MiniAudio, we can add Java Edition's music files, which have much higher quality than LCE's .binka files.

Note that the_end_dragon_alive.ogg is different as a result.

* Update the_end_dragon_alive.ogg

* Update cat.ogg

* high quality LCE cat.ogg recreation

* Updated cat.ogg to have exact music length
2026-03-06 00:42:55 -06:00
kuwa 182d76f391
Introduce uid.dat (offline PlayerUIDs), fix multiplayer save data persistence (#536)
* 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
2026-03-06 00:01:36 -06:00
Vincent Zhang 73cc345f54
Add a launch argument for full screen (#663)
* per user config should be .gitignored

* add comment surrounding gitignore update

* make it wildcard

* add fullscreen to launch option struct

* remove redundant forward declaration and use fullscreen launch option in main
2026-03-05 22:54:30 -06:00
GuglioIsStupid 5cbdf27b46
Fix sound settings not applying (#664)
* Fix sound settings not applying

* Remove my AllocConsole

* Forgot this printf
2026-03-05 22:05:59 -06:00
ZyroX e2b8699ba5
Add missing Firework sounds (#660) 2026-03-05 21:42:09 -06:00
Kevin d22ab815e3
Initial fixes for ContainerSetSlotPacket and CraftItemPacket (#649) 2026-03-05 21:20:40 -06:00
Marlian 0c2e27cae7
Add missing horse/donkey/mule/zombie/skeleton horse sounds (#650) 2026-03-05 20:41:43 -06:00
Loki Rautio 090cc653cc Disable "Debug Settings" in Release builds
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 :)
2026-03-05 20:32:04 -06:00
Marvelco b7b29c0b7b
Fixed the double block break in Creative mode (#642)
* this seems unnecessary

* fixed the double block break on single click
2026-03-06 07:48:27 +07:00
GuglioIsStupid 8398eb16b8
Miniaudio Implementation (+stb_vorbis) (#624)
* Miniaudio Implementation

* Do not link miles + remove miles lib
2026-03-06 07:48:12 +07:00
Marlian f012250219
Fix creative mode double block break on single click (#640) 2026-03-06 07:25:37 +07:00
qwasdrizzel 5d544bcb83
Fix for flying angle snapping (#641)
* Modify dispense behavior to set outcome as LEFT_ITEM

* Fix the angle problem with flying

Removed checks that limit flying to a 90 degree angle, which caused the problem.
2026-03-06 07:22:54 +07:00
catdbg ee24488ab6
Fix audio settings resetting on launch (#610) 2026-03-05 15:09:36 -06:00
dtentiion aadb511504
Fix save list, delete save, exit without saving, and blank username on Windows64 (#539)
* 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
2026-03-05 14:57:37 -06:00
Cristiandis d3593f1df3
Trim newline characters from IP address (#600) 2026-03-05 14:27:08 -06:00
ModMaker101 7147dbad92
Fix debug build not working (#603) 2026-03-05 14:17:12 -06:00
void_17 5c6f09f395
Forgot these AUTO_VAR macros too
Remove the remaining `AUTO_VAR` macros I forgot to remove
2026-03-06 02:46:20 +07:00
ModMaker101 cbcf3de358
Fix gamma slider via pixel shader #178 (#481)
* Fix gamma slider via pixel shader #178

* LCE-like gamma using postprocess shader
2026-03-06 02:41:17 +07:00
void_17 55231bb8d3
Remove AUTO_VAR macro and _toString function (#592) 2026-03-06 02:11:18 +07:00
Siepert 7d6658fe5b
Add servers.txt so players can add an arbitrary amount of servers to the "Join Game" list (#478)
* 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>
2026-03-05 22:57:54 +07:00
Marlian 9c17f3473a
Fix Ctrl-sprint not working while flying in creative mode (#563)
Remove the !player->abilities.flying guard that was incorrectly added around the Ctrl-sprint block in Input.cpp during the KBM refactor. This prevented Ctrl+W from initiating sprint while flying in creative mode. Sprinting on the ground in both survival and creative worked fine.

The sprint flag now sets correctly whenever Ctrl+W is held, including while flying. LocalPlayer::aiStep() still properly gates setSprinting() with onGround, enoughFoodToSprint, isUsingItem etc.

Fixes smartcmd/MinecraftConsoles#470
2026-03-05 07:39:11 -06:00
Marlian c236e46ef6
Fix music disc sound leaking across dimensions (#552)
Stop streaming music (jukebox) when the player changes dimensions so music disc sounds from the overworld cannot be heard in the nether or vice versa.

Previously, the streaming audio continued playing at its original world coordinates even after a dimension change, causing the sound to leak into the new dimension at the same position.

Fixes #411
2026-03-05 17:22:55 +07:00
GabsPuNs123 c2da9e90f8
Fix DLCs textures and update logo in 720p (#517)
* 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
2026-03-05 15:12:50 +07:00
void_17 8cb42a4806
Revert "Fix crash when launching at 720p" (#545) 2026-03-05 15:12:01 +07:00
Korean 8d5452679f
Updated to work with KBM refactor (#507) 2026-03-05 14:48:06 +07:00
Marvelco c77bb4dae4
fixed delay issue when breaking a block (#537) 2026-03-05 14:46:38 +07:00
Alezito2008 053eb0119c
Fix F3 opening host menu (#522)
* Fix debug menu opening game info menu

* remove redundant F4 handling
2026-03-05 14:26:19 +07:00
Alezito2008 87e3bd193c
Fix beacon crash (#512) 2026-03-05 14:17:17 +07:00
Skeagle 8cdbf08900
fix creeper model y offset (#504) 2026-03-05 14:16:18 +07:00
kuwacom 26582a7439 fix: Fixed crash when launching at 720p #517
Modify `MediaWindows64.arc` to include `skinHud.swf`
2026-03-05 11:13:31 +09:00
Siobhan 🏳️‍⚧️ 4f85afe325
Adjust entity tracking ticks for several types
This fixes the jittery problem.
2026-03-04 17:19:05 -05:00
Loki Rautio cb9ab4ef51 Ship revised logo from @wiskerdmage
This one looks a bit nicer so let's use this for now...
2026-03-04 15:23:12 -06:00
Loki Rautio 391dd3caae Ship updated, maybe temporary subtitle
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)
2026-03-04 14:56:53 -06:00
Marlian 3f1388e06f
Persist fullscreen setting and start windowed mode maximized (#446)
Save fullscreen toggle state to options.txt when F11 is pressed, and restore it on the next launch. When starting in windowed mode, the window now opens maximized instead of at a smaller default size.

Previously, g_isFullscreen was hardcoded to false and never persisted, so the game always started in windowed mode. The window also started at a non-maximized size requiring manual maximization.

Fixes #391
2026-03-05 03:50:06 +07:00
LetsGoAway c517f31b3d
Update ItemInHandRenderer.cpp (#418) 2026-03-05 03:26:56 +07:00
Loki Rautio 51eb86ad28 Revert "fix: fix #464"
This reverts commit 5922824950.
2026-03-04 13:43:40 -06:00
Fayaz Shaikh 9372887aef
Fix for any aspect ratio in 3D Environments (#320)
* Add initial AnyAspectRatio support

* Remove some logic that didn't work

* Remove rogue back slash

* Remove more remnants

* Update UILayer.h

* Update some comments

* Remove WIP UI changes

* Fix diffs

* Remove UI resize call from `UpdateAspectRatio`

* handle merge conflict

* Update to C++ style static cast

* Fix syntax
2026-03-05 02:13:58 +07:00
daoge_cmd 5922824950 fix: fix #464 2026-03-05 02:57:52 +08:00
daoge_cmd 4108ed142b fix: restore KBM sprint on either Ctrl key 2026-03-05 01:49:38 +08:00
daoge_cmd 7b35df8714 Fix controller paging regression in creative menu
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
2026-03-05 01:38:34 +08:00
daoge_cmd ef66f6736d fix: ignore dedicated server properties in normal world startup 2026-03-05 01:26:21 +08:00
ModMaker101 870d3e4b68
Fix mob nametag position to match correct height offset #422 (#440) 2026-03-05 00:24:42 +07:00
daoge_cmd 1dc8a005ed refactor: refactor KBM input code 2026-03-05 01:12:48 +08:00
ModMaker101 464cf91f4c
Prevent door sounds from playing twice #392 (#425) 2026-03-04 23:28:37 +07:00
Alezito2008 cea1084978
Fix duplicated stained glass when art tools enabled (#426) 2026-03-04 23:28:20 +07:00
ModMaker101 2be856a2d4
Fix Chunk destructor segfault using smart pointers #112 (#414) 2026-03-04 22:43:29 +07:00
Davi Eler Magalhães ca5fde56fe
Fix: Sorted the item list in the debug overlay (#340)
* 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
2026-03-04 22:07:37 +07:00
Marlian 2d430798a5
Fix creative inventory crash with Art Tools debug option (#399)
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
2026-03-04 19:47:43 +07:00
Loki Rautio 52d9bcc9a9 Enable Stained Glass in Creative Menu 2026-03-04 06:14:06 -06:00
Loki Rautio ea17b152b7 Restore username.txt loading without conflict
Still allows for -name launch argument, but restores old expected behavior
2026-03-04 05:57:56 -06:00
Loki Rautio 0993e628ab Disable automatic Windows account username
This could reveal someone's private information on a livestream or video.
We need a long-term username implementation
2026-03-04 05:44:16 -06:00
Loki Rautio 42aec6dac5 Merge branch 'main' into pr/win64-world-saves
# Conflicts:
#	Minecraft.Client/MinecraftServer.cpp
#	README.md
2026-03-04 03:56:03 -06:00
daoge_cmd d112090fde feat: headless server 2026-03-04 17:29:43 +08:00
daoge_cmd 8ecfc52547 feat: add support for username, IP, and port configuration via launch arguments 2026-03-04 15:33:52 +08:00
daoge_cmd 575cc4ce6e fix: fix horse texture rendering 2026-03-04 14:55:13 +08:00
daoge_cmd b1b4435c01 fix: fix inverted pitch in the second third person view 2026-03-04 14:40:52 +08:00
Tygo de Vries 779cf56f4b
Removed private information (#333)
Maybe we should not have this out there to find so easily?
2026-03-04 12:39:16 +07:00
ModMaker101 bfcc4aa10c
renderer: frustum test new chunks so newly generated chunks render to full view distance #175 (#344) 2026-03-04 12:37:04 +07:00
rtm516 b1b622c303
Fix overlapping debug menus and screens (#294)
* Fix overlapping debug menus and screens

Also resolves a formatting issue with clang-format

* Update readme
2026-03-04 12:31:47 +08:00
4win f216abca42
fix: properly offset the mouse position in containers (#327) 2026-03-04 12:30:14 +08:00
Alezito2008 d31d261ffd
Prevent world input from affecting inventory (#354) 2026-03-04 12:29:29 +08:00
Zekken f870ef2a10
Fix Texture Pack images in menu (#335) 2026-03-03 23:56:16 +00:00
Boom244 ac30f09085
#221: Fix menu glitch. (#254) 2026-03-04 05:43:06 +07:00
Slenderman ac480f6745
Update username logic and implement latest LCEMP changes (#311)
* Update username logic and implement latest LCEMP changes

* Update old reference

* Fix tutorial world crash

* Restore deleted comment
2026-03-04 04:50:28 +07:00
Fin 30ecc80250
Add menu display check for sneak toggle in flying mode (#319)
Fixes being able to fly down while a menu is open.
2026-03-04 04:13:35 +07:00
rtm516 384b9f4445
Fix ender dragon hit not making left side red (#309) 2026-03-04 03:40:53 +07:00
TGS 31cc598b75
Remove duplicate elif from LevelRender.h (#296) 2026-03-03 20:22:31 +00:00
FancyEX 540e33d787
Separate _WINDOWS64 and _XBOX_ONE (#248)
The latter returning to the original 512 value.
2026-03-04 00:58:04 +07:00
DetectivEren 1b0e5df27e
chunk optimization (#246)
makes chunks load a bit faster
2026-03-04 00:55:27 +07:00
Slenderman 515f91cad8
Fix player save data issue & multiple username implementations (#257)
* 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
2026-03-03 23:58:22 +07:00
slcyed 5c91c26086
shift + click for quickmove (#278)
* shift + click for quickmove

* shift click quick move in inventory
2026-03-03 23:27:23 +07:00
4win ca7615d77d
feat: make the game sensitivity slider affect mouse sensitivity (#255) 2026-03-03 15:13:20 +08:00
Loki Rautio cd03a390b7 Move Tutorial.pck to the correct Dec2014 location
Fixes #190
2026-03-03 00:07:31 -06:00
Loki Rautio 8f17df6351 Disable blank changelog popup for now
Partially addresses issue in #190
2026-03-02 23:46:39 -06:00
4win 7ce1fa3452
feat: bind F1 to toggle the HUD settings (#244) 2026-03-03 13:32:26 +08:00
Loki Rautio fad108aaee Use Xbox One command buffer limit - fixes #238 2026-03-02 23:27:20 -06:00
void_17 3093ca37d3
Implement smooth scrolling in Creative Mode menu (#240) 2026-03-03 13:21:41 +08:00
Loki Rautio af5d62a81e Add back missing filters 2026-03-02 23:19:29 -06:00
Loki Rautio 354a0989eb Add back x64 stub XUID (temp savedata fix)
Fixes savedata loading for existing saves, needs permanent solution
2026-03-02 23:05:25 -06:00
void_17 b42a4a4e4d
Revert "Revert "Win64: configurable username (username.txt) and persistent ga…" (#235)
This reverts commit 7f7d99501c.
2026-03-03 10:31:09 +07:00
void_17 7f7d99501c
Revert "Win64: configurable username (username.txt) and persistent game setti…" (#234)
This reverts commit b8a7f816b5.
2026-03-03 10:23:28 +07:00
Fayaz Shaikh 0b1e51f620
Cleaner implementation of support dynamic resizing aspect ratio (#228)
* Add dynamic resolution

* Clean up implementation

* Use existing ints instead of new ones

* Remove WM_SIZE argument (unecessary now that we directly use g_iScreenWidth and g_iScreenHeight)
2026-03-03 10:11:16 +07:00
void_17 acf4a38555 Enable more aggressive optimizations /O2 /Ob3 2026-03-03 09:45:52 +07:00
MijaeLio 17a11d7913
FOV option without debug menu (#209)
Now located in Graphics section.

Based on the FOV thing from discord idk
2026-03-03 09:02:25 +07:00
void_17 ccebb87ca7 Enable Whole Program Optimization in Release mode
This noticeably improves FPS
2026-03-03 08:54:08 +07:00
void_17 a5e3cb04b3 Remove #203 core code before a cleaner implementation 2026-03-03 08:45:26 +07:00
void_17 95d4d0a703 Temporarily turn off all MSVC warnings
Before any major refactoring, warnings do help a little except for slowing down the compilation (as it needs to output everything to stdout), so disable MSVC warnings in Release mode.
2026-03-03 07:10:55 +07:00
void_17 dea460381f Remove dyn_SetProcessDpiAwareness 2026-03-03 07:00:55 +07:00
dtentiion b8a7f816b5
Win64: configurable username (username.txt) and persistent game settings (settings.dat) (#195) 2026-03-03 07:50:45 +08:00
lspepinho 8b28c20d7a
Fixes for PR #96 (#170)
* Implement basic multiplayer functionality

* Update README.md

---------

Co-authored-by: Slenderman <ssimulpong@outlook.com>
2026-03-03 06:30:22 +07:00
DetectivEren f731a68422
TAB key opens up game info instead of host options (#204)
* TAB key opens up game info instead of host options

TAB key opens up game info menu instead of host options menu because the player accesses host options from game info

* Update README.md
2026-03-03 06:23:59 +07:00
void_17 e888735798
Revert "Fix sound not working" (#205) 2026-03-03 06:22:43 +07:00
daoge 7eb4c78488
fix: fix gamma (#191) 2026-03-03 06:20:55 +07:00
Fayaz Shaikh 41ded31af8
Add dynamic resolution (#203) 2026-03-03 06:04:53 +07:00
dtentiion 63e590d783 Win64: show actual world names in save list, sort newest-first, preserve level name on load/resave 2026-03-02 21:13:11 +00:00
daoge_cmd 8f6647b5d8 fix: fix mouse and controller input handling in container menus 2026-03-03 04:59:08 +08:00
Andrew f917335b13
Fix Windows64 mouse capture and static initialization crashes (#177) 2026-03-03 03:17:10 +07:00
Austen Maneggio bbef5445f9
Add ARM64EC Support (#174)
Co-authored-by: Tubbymcwubby <maneggioausten@gmail.com>
2026-03-03 03:06:21 +07:00