Commit graph

2278 commits

Author SHA1 Message Date
BruceChen
1abab20f17 feat: add Phase 1 core pathfinding architecture
Implements the new Baritone-inspired A* pathfinding system:
- Core types: PathNode, PathResult, MoveResult, MoveType, ActionCosts
- BinaryHeapOpenSet min-heap for A* open set
- AStarPathFinder with timeout, cancellation, partial path support
- CalculationContext for thread-safe world state snapshots
- MoveHelper for block passability checks
- IGoal interface + GoalBlock, GoalXZ, GoalNear, GoalComposite
- IMove interface + MoveTraverse, MoveDiagonal, MoveAscend, MoveDescend, MoveClimb
- /pathfind command for testing the new pathfinder

Made-with: Cursor
2026-04-12 18:43:32 +00:00
BruceChen
3efe63c54d feat: add pose system, slime block bounce, and crawling to physics engine
Implement the three Phase 0 prerequisites for the pathfinding rewrite:

- Pose system (vanilla Player.updatePlayerPose): dynamic AABB height based
  on current pose -- Standing (1.8), Sneaking (1.5), Swimming/Crawling (0.6).
  Automatically downgrades pose when headroom is insufficient (Standing ->
  Sneaking -> Swimming), matching vanilla 1.14+ forced-crawl behavior.

- Slime block bounce (vanilla SlimeBlock.bounceUp / stepOn): reverses
  downward velocity on landing, with sneaking suppression via
  isSuppressingBounce(). Also applies the horizontal slowdown effect
  from SlimeBlock.stepOn when walking on slime with low vertical velocity.

- Per-pose dimension constants in PhysicsConsts with eye heights for each
  pose, sourced from vanilla Avatar.POSES (26.1 decompiled).

- Debug logging for pose transitions, slime bounces, and periodic physics
  state dumps routed through McClient's ILogger.

Tested on a real 1.21.11 server: crawling triggers correctly under 1-block
ceilings, sneaking under 1.5-block ceilings, slime bounce produces correct
decaying oscillation, and pose recovery works when obstacles are removed.

Made-with: Cursor
2026-04-12 18:43:32 +00:00
BruceChen
4013d39068
[skipci] Merge pull request #3078 from BruceChenQAQ/bruce/shared-server-mcc-sessions
Add MCC wrappers and guards for build and publish
2026-04-13 02:39:32 +08:00
BruceChen
ab29180e39 Add MCC wrappers and guards for build and publish 2026-04-12 18:37:03 +00:00
BruceChen
248a7a2f6f
Merge pull request #3077 from BruceChenQAQ/bruce/shared-server-mcc-sessions
tools: isolate MCC sessions while sharing local servers
2026-04-12 23:51:25 +08:00
BruceChen
8e0db1402f chore: remove remaining CursorBot references 2026-04-12 23:43:54 +08:00
BruceChen
ca5c9f73e3 docs: describe shared server MCC sessions 2026-04-12 23:33:59 +08:00
BruceChen
af285866dc tools: harden shared server session workflow 2026-04-12 23:33:45 +08:00
BruceChen
b665ebfeac Add session-scoped dual-session smoke test and harness updates 2026-04-12 20:46:39 +08:00
BruceChen
e4d71d970b Make tmpfs dotnet env wrapper bash-3 compatible 2026-04-12 20:21:59 +08:00
BruceChen
0a041b37c5 Add worktree-isolated tmpfs build outputs 2026-04-12 20:07:15 +08:00
BruceChen
e0752d8d98 tools: harden task3 session debug scripts 2026-04-12 19:57:54 +08:00
BruceChen
0519eac4a8 tools: run file-input debug sessions in tmux 2026-04-12 19:47:36 +08:00
BruceChen
bf292ea1be tools: scope mcc debug runtime artifacts by session 2026-04-12 19:38:53 +08:00
BruceChen
afee31e918 Ensure mcc-cmd handles unquoted multi-token commands 2026-04-12 19:26:32 +08:00
BruceChen
e03b7de959 Preserve full command in mcc-cmd and broaden tests 2026-04-12 19:25:25 +08:00
BruceChen
1be001bdf8 Fix session parser robustness and test assertion 2026-04-12 19:21:07 +08:00
BruceChen
4c6d5b566b Make MCC helpers session-aware and add reset test 2026-04-12 19:10:00 +08:00
BruceChen
d9c6826443 tools: fix tmpfs build root test 2026-04-12 19:04:38 +08:00
BruceChen
fdb6e5db4c tools: harden session helper and tests 2026-04-12 19:00:42 +08:00
BruceChen
3b65085a66 tools: add MCC session and build root helpers 2026-04-12 18:52:17 +08:00
BruceChen
6b986dcddd chore: update ModelContextProtocol package version to 1.2.0 and adjust Consolonia and Sentry package versions 2026-04-12 18:46:57 +08:00
BruceChen
158a4b1b13 docs: add MCC worktree session design 2026-04-12 17:37:13 +08:00
acamq
f3e8f65fe5 fix: correct /bed translation typo 2026-04-12 16:44:51 +08:00
Anon
8c8962f1ea
bugfix: correct scoreboard packet parsing for UpdateScore and ScoreboardObjective 2026-04-09 15:35:40 +02:00
adsicmes
fbacc550e2 fix: correct scoreboard packet parsing for UpdateScore and ScoreboardObjective
UpdateScore Display Name was read with ReadNextString instead of ReadNextChat. In 1.20.4+ Text Components are NBT-encoded, causing ReadNextString to misinterpret the tag type byte as a string length prefix, corrupting the read offset and exhausting the packet queue.

Also fix incomplete Number Format consumption in both UpdateScore and ScoreboardObjective: the styled (Compound Tag) and fixed (Text Component) payloads after the VarInt enum were not being read, leaving stale bytes in the packet queue.
2026-04-09 17:15:55 +08:00
Anon
d96396f74d
Merge pull request #3072 from milutinke/bugfix/srv-resolution 2026-04-08 18:15:22 +02:00
Anon
e0b21dd1d2 fixed the MCC incorrectly restarts the console input reader after transfer in classic mode. 2026-04-08 18:11:26 +02:00
BruceChen
229c9eba0a
[skipci] fix: update translation links for help section across multiple languages 2026-04-08 22:39:16 +08:00
BruceChen
2ac7e84b37 fix: update translation links for help section across multiple languages
- Changed the link for the "help us translate" section from crwd.in to crowdin.com for consistency and accuracy in localization configurations for various languages.
2026-04-08 22:38:37 +08:00
BruceChen
5aa1816621
[skipci] Fix document site build fail
[skipci] Fix document site build fail
2026-04-08 22:30:45 +08:00
BruceChen
b10e332e31 docs: update usage guide for MCC instance and note formatting
- Removed unnecessary period from the MCC instance reference.
- Reorganized the note section to improve clarity, moving it to a more appropriate location and ensuring consistent formatting for examples involving single and double quotes.
2026-04-08 22:29:42 +08:00
BruceChen
906d66a713 feat: add vue-template-tolerant plugin for error handling in translation pages
- Implemented a new Vite plugin that detects HTML errors in Vue translation pages and logs detailed error messages to the console.
- The plugin replaces the content of pages with a placeholder if errors are found, improving the robustness of the translation process.
- Integrated the plugin into the Vite bundler configuration for enhanced localization support.
2026-04-08 22:29:42 +08:00
BruceChen
b69708c637 chore: add websocket guide translations to Crowdin configuration
- Included new translation paths for markdown files located in the /docs/guide/websocket directory, enhancing the localization support for websocket-related documentation.
2026-04-08 22:29:42 +08:00
BruceChen
5363ef7bc1
Merge pull request #3068 from BruceChenQAQ/master
refactor: simplify color handling in ClassicConsoleBackend
2026-04-08 03:10:07 +08:00
BruceChen
740de13d98 refactor: enhance XLIFF parsing in Crowdin translation script
- Added support for an `include_paths` parameter to filter files based on specified prefixes, taking priority over `exclude_paths`.
- Updated the `parse_xliff` and `process_language` functions to accommodate the new filtering logic.
- Enhanced command-line argument parsing to allow users to specify files for translation directly, improving flexibility in translation management.
2026-04-08 02:52:07 +08:00
BruceChen
edadd91016 chore: update subproject commit reference for ConsoleInteractive 2026-04-08 02:50:39 +08:00
BruceChen
ff00d01fd7 refactor: simplify color handling in ClassicConsoleBackend
- Removed hex color handling logic from ClassicConsoleBackend, streamlining the WriteLineFormatted method.
- Updated ColorHelper to ensure consistent formatting for color codes.
- Ensured console-specific settings are reapplied after backend initialization in Program.cs.
2026-04-08 02:05:26 +08:00
BruceChen
64c42bb4b5
[skipci] Merge pull request #3067 from BruceChenQAQ/master
Optimize translate script
2026-04-08 01:32:38 +08:00
BruceChen
698a562156 refactor: update output directory handling in Crowdin translation script
- Removed the default output directory constant and updated the logic to set the output directory based on the provided argument or default to a "translated" subdirectory within the bundle directory.
- Improved help text for the output directory argument to clarify its default behavior.
2026-04-08 01:30:35 +08:00
BruceChen
7ec9d64b5b refactor: optimize translation unit handling in Crowdin script
- Introduced a new variable to track successfully translated units, improving clarity and efficiency in the processing logic.
- Updated the logic for combining existing and new translation units, ensuring accurate output and preventing unnecessary uploads when no new translations are available.
2026-04-08 01:30:35 +08:00
Anon
756bc1e11f
bugfix: Fixed a non-existant configuration packet from crashing the client. 2026-04-07 18:25:43 +02:00
Anon
5a5165e89f Fixed a non-existant configuration packet from crashing the client. 2026-04-07 17:00:01 +02:00
Anon
0e15806722
bugfix: Fixed SRV resolution during transfer 2026-04-07 15:43:12 +02:00
Anon
37271c5988 Fixed SRV resolution during transfer 2026-04-07 15:41:12 +02:00
BruceChen
35fd34b19d
Merge pull request #3062 from BruceChenQAQ/master
feat: add Crowdin translation automation script
2026-04-07 02:15:28 +08:00
BruceChen
ad065225ba feat: enhance game language support in settings
- Added documentation for mapping system CultureInfo names to Minecraft game language codes.
- Included support for Tagalog (tl and tl-PH) language codes in the game settings.
2026-04-07 02:03:02 +08:00
BruceChen
0445d95c23 feat: add support for additional game languages in settings
- Added support for Filipino (fil and fil-PH) and Norwegian (no) language codes in the game settings.
- Corrected formatting for existing language codes to ensure consistency and prevent potential issues with language recognition.
2026-04-07 01:58:29 +08:00
BruceChen
37bda82828 feat: add deduplication for cached domain prompt translations
- Implemented a new function to remove duplicate paragraphs from cached translations, addressing issues with the API returning repeated content.
- Updated the caching logic to apply deduplication both when loading from cache and after generating new translations, ensuring cleaner and more accurate cached data.
2026-04-07 00:52:18 +08:00
BruceChen
5dde778b53 refactor: improve XLIFF file handling in translation script
- Enhanced the `find_xliff_files` function to preserve the order of locales when mapping Crowdin locales to XLIFF paths.
- Updated the logic to return all available locales when no specific locales are provided, ensuring better handling of XLIFF files.
- Simplified the iteration over XLIFF files by removing unnecessary sorting in the final loop.
2026-04-07 00:50:24 +08:00