Commit graph

1716 commits

Author SHA1 Message Date
Anon
968800b95a Added a bunch of new useful MCP Tools 2026-03-30 23:14:28 +02:00
Anon
d5358d3d1a
feat: Add automatic mining-speed and dig-duration handling 2026-03-30 21:41:06 +02:00
Anon
5de72de234 Fixed a wrong effect decoding on 1.20.4 2026-03-30 21:37:53 +02:00
Anon
d158bfdf21 Fixed bugs 2026-03-30 20:20:58 +02:00
BruceChen
35dd3c4f06 Add support for ItemStackTemplate in DataTypes and Protocol18
- Implemented ReadNextItemStackTemplate method to read ItemStackTemplate data with item-first encoding.
- Updated Protocol18 to utilize ReadItemStackTemplateLabel for improved item display handling.
- Enhanced item component parsing to accommodate new structured components.
2026-03-31 01:28:24 +08:00
BruceChen
eae96a8fbc Cave mode for minimap 2026-03-31 01:28:24 +08:00
Anon
be20b97478
Merge branch 'master' into copilot/implement-automatic-mining-handling 2026-03-30 19:13:39 +02:00
BruceChen
435887cc04 Update translation for banner label to clarify supported Minecraft versions 2026-03-31 00:05:22 +08:00
BruceChen
f7bc817408 Refactor color definitions in MccBannerPanelBuilder for improved clarity
- Removed unused color definitions for screen and dark screen.
- Updated pixel array to use the new screen background color consistently.
- Adjusted prompt text colors for better visibility in the TUI.
2026-03-31 00:03:29 +08:00
BruceChen
eaf4704473 Add icon banner display option and refactor startup banner logic
- Introduced a configuration option `Display_Icon_Banner` to control the visibility of the startup icon banner.
- Refactored `ProcessStartupState` to utilize TUI for displaying the banner if enabled, falling back to a classic banner display otherwise.
- Added new methods for building the banner panel and icon grid for improved visual representation.
- Updated translations and resource comments to support the new banner features.
2026-03-31 00:03:29 +08:00
milutinke
0881cbaa1c Fix legacy achievements and add test harness 2026-03-30 17:25:08 +02:00
copilot-swe-agent[bot]
22455905a7 Add automatic mining-speed and dig-duration handling
- Add BlockHardness.cs with hardness data for all 1053 blocks from MC 1.21.11
- Add MiningCalculator.cs with version-aware dig duration computation
  - Tool speed from ToolComponent (1.20.6+) or legacy hardcoded tables
  - Efficiency enchantment (legacy: level^2+1, 1.21.11+: mining_efficiency attribute)
  - Haste/Conduit Power/Mining Fatigue effects
  - BLOCK_BREAK_SPEED attribute (1.20.6+)
  - MINING_EFFICIENCY and SUBMERGED_MINING_SPEED attributes (1.21.11+)
  - Underwater penalty with Aqua Affinity support (legacy) or attribute (modern)
  - Airborne penalty
  - Correct tool for drops check (30 vs 100 divisor)
- Modify McClient.DigBlock to auto-compute duration for survival/adventure mode
- Cache player attributes from OnEntityProperties in McClient
- Expose duration parameter in ChatBot.cs scripting wrapper
- Add /downloads/ to .gitignore

Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/579df446-a335-4174-9a8b-4d66173c82b1

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-30 08:24:00 +00:00
copilot-swe-agent[bot]
962c8b1ab2 Fix 26.1 RecipeBookAdd crash: update SlotDisplay registry IDs for 26.1
MC 26.1 changed the minecraft:slot_display registry, inserting 3 new
types (with_any_potion, only_with_component, dyed) and shifting all
existing IDs. This caused MCC to misparse recipe display data, leading
to a Queue empty crash in SkipItemHolderSet.

Add version-gated ReadSlotDisplayLabel with correct 26.1 type mapping
and reader methods for the 3 new slot display types.

Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/47b0c937-1491-4216-8ee0-1aca866e99ab

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-30 08:09:33 +00:00
copilot-swe-agent[bot]
0f3289dfdf Fix criteria version boundary: criteria list removed from wire format in MC 1.20.2, not 1.20.6
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/5da0ec37-35e2-4aae-b165-66ddd82df985

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 21:16:45 +00:00
copilot-swe-agent[bot]
5705df43bd Fix Advancements packet parsing: sendsTelemetryEvent added in 1.20, deduplicate requirements reading
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/5da0ec37-35e2-4aae-b165-66ddd82df985

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 21:07:17 +00:00
copilot-swe-agent[bot]
7b3e5ee492 Address code review: eliminate unnecessary allocation in progress-only updates
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/9db483a8-4a5f-47b1-a6f4-30b6e39075bd

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 20:27:12 +00:00
copilot-swe-agent[bot]
65ef3dde6b Implement unified achievements feature: data model, protocol handling, state management, ChatBot API, and /achievement command
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/9db483a8-4a5f-47b1-a6f4-30b6e39075bd

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 20:22:31 +00:00
Anon
ef106c80c2
feat: Implemented the Recipe Book into MCC 2026-03-29 21:05:38 +02:00
Anon
7b415d5388 Added a Skill for MCP 2026-03-29 20:57:16 +02:00
BruceChen
90ea05b17d Enhance server status display and player information handling
- Updated `ServerStatusDisplay` to use `ChatBot.GetVerbatim` for version name formatting.
- Modified `ServerStatusPanelBuilder` to improve player name display with color parsing.
- Changed translation for online player label to "Online Players:" for clarity.
- Refactored protocol version checks to streamline logic in server status handling.
2026-03-30 02:46:34 +08:00
copilot-swe-agent[bot]
b05c8cfe0d fix: support 1.21.11 recipe book display ids
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/4cdf26f2-112b-4502-88f7-8f589c424f69

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 18:45:14 +00:00
copilot-swe-agent[bot]
dfc1164839 chore: finalize recipe book support polish
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/00c8527f-5755-43c1-8916-8d571d28860b

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 18:12:01 +00:00
copilot-swe-agent[bot]
893be203e5 chore: polish recipe book support
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/00c8527f-5755-43c1-8916-8d571d28860b

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 18:07:09 +00:00
copilot-swe-agent[bot]
d5308ba8c6 feat: add recipe book command support
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/00c8527f-5755-43c1-8916-8d571d28860b

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
2026-03-29 18:00:44 +00:00
BruceChen
871305bd72 Add server status display and protocol version upgrade handling
- Introduced a new `ServerStatusInfo` class to encapsulate server status data including MOTD, player counts, and version information.
- Implemented `ServerStatusDisplay` to format and display server status information in both classic and TUI modes.
- Added protocol version upgrade logic in `ProtocolHandler` to determine the highest supported protocol version for multi-version servers.
- Updated translations to support new server status labels and messages.
- Created `ServerStatusPanelBuilder` for TUI to visually represent server status with player information and connection details.
2026-03-30 01:39:37 +08:00
BruceChen
2f03f66f5c Enhance useblock command to support hand selection
- Updated the 'useblock' command to allow specifying the hand (mainhand or offhand) for block placement.
- Modified command usage description to reflect the new optional parameter.
- Adjusted the command execution logic to handle the selected hand during block placement.
2026-03-29 22:40:43 +08:00
BruceChen
d05e3148f1 Refactor explosion packet handling for protocol version updates
- Updated explosion packet processing to accommodate changes in Minecraft protocol versions, specifically for versions 1.21.2 and 1.20.4.
- Removed obsolete fields such as explosion strength and block records for newer versions, and added support for optional knockback and particle data.
- Enhanced backward compatibility for earlier versions by maintaining existing logic for explosion data retrieval.
2026-03-29 22:40:43 +08:00
BruceChen
d427a6e160 Add tooltip service and integrate with MinimapControl
- Introduced TuiTooltipService for managing tooltips across TUI components.
- Updated MinimapControl to utilize the new tooltip service for enhanced entity information display.
- Refactored tooltip rendering logic to improve visibility and interaction based on mouse position.
2026-03-29 19:53:50 +08:00
BruceChen
0566f2518b Add tooltip functionality to MinimapControl
- Introduced a tooltip system for displaying entity information on the minimap.
- Enhanced the SampleResult class to include entity mapping and block type summaries.
- Updated the rendering logic to incorporate tooltips and improve user interaction with the minimap.
2026-03-29 19:53:50 +08:00
BruceChen
a1516e9680 Add message aggregation and relay options for DiscordBridge
- Introduced message aggregation functionality with a configurable interval to reduce Discord API rate limits.
- Added options to relay all messages from Minecraft, including system messages, to Discord.
- Updated configuration comments to reflect new settings and their purposes.
2026-03-29 19:53:50 +08:00
BruceChen
6631180f8a Minimap support 2026-03-29 19:53:50 +08:00
BruceChen
157d90273b Handle TUI startup failures with classic fallback 2026-03-29 01:57:21 +08:00
BruceChen
b757215dbb Temporarily disable classic mode TUI recommendation
Commented out the MaybePrintClassicModeTuiRecommendation function call to prevent its execution until the related issue is resolved. Reference to the issue is included for tracking purposes.
2026-03-29 01:34:10 +08:00
BruceChen
83f14a64f8 Add tryout command for TUI onboarding
Add a new /tryout command as an extensible entry point for recommended feature trials, with /tryout tui as the first action. The command updates [Console.General] ConsoleMode to "tui", writes the config back immediately, and explains both how to revert the change and that a restart is required.

Also show a startup recommendation in classic console mode when stdin is interactive, so users can discover the TUI experience without manually editing MinecraftClient.ini. All user-facing text is routed through the translation resources.
2026-03-29 01:34:10 +08:00
BruceChen
9cada9d19d Refactor ConsoleIO and Program settings handling
- Updated ConsoleIO to allow writing to the console when Backend is null, improving error handling.
- Simplified settings write-back logic in Program.cs to ensure default settings are written correctly based on configuration results.
2026-03-29 00:54:34 +08:00
Anon
cf382122e9 Added inventory manipulation to the MCP, improved the test harness 2026-03-28 16:44:22 +01:00
Anon
7f9023e7bb More tools, added debug tools, fixed issues with some tools. 2026-03-28 04:12:37 +01:00
Anon
79b091cab6 Implemented a first version of an MCP server as a Chat Bot 2026-03-28 02:08:47 +01:00
BruceChen
0194380fbc TUI support for more container 2026-03-28 02:18:11 +08:00
BruceChen
ef133f3d6d Enhance container handling for Minecraft protocol updates
- Updated the Container class to include a protocol version parameter for accurate container type mapping.
- Modified the GetContainerType method to account for changes in container types introduced in Minecraft 1.20.4.
- Added new container types, including Crafter, to the ContainerType enum.
- Adjusted ContainerTypeExtensions to reflect the new container mappings and ensure compatibility with the updated protocol.
2026-03-28 02:17:47 +08:00
BruceChen
22f46d14a9 Fix negative location error 2026-03-28 02:17:47 +08:00
BruceChen
448e1ef6f5
Merge pull request #3010 from BruceChenQAQ/master
Update Crowdin GitHub Action version in build-and-release.yml
2026-03-28 00:48:31 +08:00
Anon
0a9948a92a Merge branch 'master' of github.com:MCCTeam/Minecraft-Console-Client into fix/use-item 2026-03-27 16:46:29 +01:00
Anon
0c9ff137b2 Fixed shovel not being able to be used on dirt 2026-03-27 16:43:53 +01:00
Anon
f6446b198d Implemented effects support, as a command, chat notification and added in TUI mode 2026-03-27 15:47:27 +01:00
BruceChen
4b9e0e93aa Fix: cursor locate at the beginning when pressing Up to view history 2026-03-27 22:47:20 +08:00
Anon
7a75328f0a Fixed a JSON exception 2026-03-26 19:16:48 +01:00
Anon
747662ea8c More minor optimizations 2026-03-26 18:01:56 +01:00
BruceChen
ac1d5c37a6 Refactor tab cycling logic in TUI command input handling
- Simplified the condition for disabling tab cycling by checking only for the Tab key.
- Improved clarity in the command key down event handling for better user experience.
2026-03-27 00:30:52 +08:00
BruceChen
fe7ab9f373 Implement startup state management and enhance configuration loading
- Introduced a new `StartupState` class to encapsulate the state collected before the console backend initialization.
- Updated the configuration loading process to handle legacy upgrades and provide detailed feedback on configuration status.
- Enhanced the TUI backend to utilize the new startup state for improved initialization flow.
- Refactored the `LoadFromFile` method in `Settings` to return a structured result, improving error handling and clarity.
2026-03-27 00:30:52 +08:00