Commit graph

155 commits

Author SHA1 Message Date
Anon
dc472c3df6 chore: update build dependencies 2026-07-27 17:58:08 +02:00
Anon
5228670131 Fix inventory handling across protocol versions 2026-06-05 20:26:29 +02: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
44e7f205c8 fix: disable transitive Avalonia compilation in project file
- Added a property to the MinecraftClient.csproj to disable the default Avalonia compilation, preventing file-lock races during parallel builds, as the project does not utilize XAML resources.
2026-04-06 20:36:12 +08:00
BruceChen
7f3b2c26da chore: Update Sentry package reference to version 6.3.0 2026-04-06 00:35:15 +08:00
BruceChen
49b7b98ba8 chore: Update package references for Consolonia and Magick.NET to latest versions 2026-04-06 00:35:15 +08:00
Anon
f4c160979c Merge origin/master into feat/mcp-server 2026-04-03 20:03:37 +02:00
Anon
c3c57c058a Moved the operator prompt from a skill to an embedded resourcce 2026-03-30 23:21:36 +02:00
Anon
7b415d5388 Added a Skill for MCP 2026-03-29 20:57:16 +02:00
BruceChen
6631180f8a Minimap support 2026-03-29 19:53:50 +08:00
Anon
79b091cab6 Implemented a first version of an MCP server as a Chat Bot 2026-03-28 02:08:47 +01:00
BruceChen
8456e363f5
TUI for MCC (#2976)
* feat: implement interactive TUI inventory viewer

- Added InventoryTui command to open an interactive terminal user interface for inventory management.
- Introduced InventoryApp and InventoryMainView classes for TUI layout and functionality.
- Created InventoryViewModel and SlotViewModel to manage inventory data and display.
- Integrated Consolonia for enhanced console UI experience.
- Updated McClient to support console message handling during TUI operation.

These changes enhance user interaction with inventory management in Minecraft Console Client.

* feat: enhance debugging workflow with mcc-debug.sh and TUI support

- Introduced mcc-debug.sh for streamlined one-step build, server start, and MCC launch.
- Added TUI mode for improved user experience during debugging sessions.
- Updated mcc-env.sh to include new debug helpers and TUI mode functionality.
- Enhanced SKILL.md with detailed instructions for using the new debugging tools and console modes.

These changes significantly improve the debugging process for Minecraft Console Client, making it more efficient and user-friendly.

* feat: introduce TUI console backend and related enhancements

- Added ClassicConsoleBackend and TuiConsoleBackend to support different console I/O modes.
- Implemented IConsoleBackend interface for better abstraction of console operations.
- Enhanced ConsoleIO to utilize the new backend structure for input and output handling.
- Introduced MainTuiView and MccTuiApp for a full-screen TUI experience using Avalonia.
- Updated InventoryTuiHost to manage TUI lifecycle and interactions.

These changes significantly improve the console experience in Minecraft Console Client, providing a more flexible and user-friendly interface.

* refactor: remove InventoryTui command implementation

- Deleted the InventoryTui class, which provided an interactive terminal user interface for inventory management.
- This change simplifies the command structure as part of ongoing improvements to the console experience in Minecraft Console Client.

The removal of this command is aligned with recent enhancements to the console backend and user interface.

* refactor: update InventoryMainView and MainTuiView for improved UI handling

- Changed several fields from readonly to mutable in InventoryMainView to allow for dynamic updates.
- Introduced a new McColorParser class for parsing Minecraft color codes and creating colored text blocks.
- Enhanced MainTuiView to support formatted log lines and improved notification handling.
- Updated chat scrolling behavior to ensure better user experience during text input and log display.

These changes streamline the UI components and enhance the overall console experience in Minecraft Console Client.

* feat: enhance command input handling in MainTuiView

- Updated command input to use event routing for better key handling.
- Added support for Ctrl key shortcuts to improve text manipulation (e.g., word deletion, caret movement).
- Implemented text cleaning on input change to prevent newline characters.
- Improved health and food status bar rendering with a new method for building bar text.

These changes significantly enhance the user experience in the TUI by providing more intuitive command input functionality.

* feat: enhance TUI command suggestion functionality

- Introduced a new CommandSuggestion struct for backend-independent suggestion handling.
- Updated ConsoleIO to streamline suggestion updates for both Classic and TUI backends.
- Enhanced MainTuiView to display command suggestions with improved visibility and interaction.
- Increased the maximum number of displayed suggestions from 6 to 10 for better user experience.

These changes significantly improve the command input experience in the TUI, making it more intuitive and user-friendly.

* feat: enhance offline command autocomplete functionality

- Introduced an OfflineAutocompleteHandler to provide command suggestions for offline commands.
- Added support for tab cycling through suggestions in the TUI.
- Improved command input handling to clear suggestions when necessary and manage user input more effectively.
- Updated TuiConsoleBackend to integrate with the new autocomplete feature.

These changes significantly enhance the user experience by making command input more intuitive and responsive in offline scenarios.

* feat: enhance localization and user feedback in TUI

- Updated various TUI components to utilize localized strings for improved user experience.
- Enhanced debug state output with translated labels for better clarity.
- Improved inventory command help messages with localized text.
- Added new translations for console mode descriptions and inventory viewer prompts.

These changes significantly enhance the usability and accessibility of the TUI in Minecraft Console Client, making it more user-friendly and informative.

* feat: enforce localization for user-facing strings in AGENTS.md

- Added guidelines to ensure all user-facing text, including log messages and error messages, is managed through the translation system.
- Specified the use of `Translations.resx` and `Translations.Designer.cs` for localization, emphasizing the importance of avoiding hardcoded strings in source code.

These changes improve the consistency and accessibility of user-facing content across the application.
2026-03-26 02:08:18 +08:00
copilot-swe-agent[bot]
7fca2acd24 Add WebSocketBot as external MCCScript bot with string enum serialization
Port the WebSocket bot functionality to an external standalone script that:
- Uses //MCCScript 1.0 format instead of being a built-in bot
- Uses System.Text.Json instead of Newtonsoft.Json (no external DLL)
- Serializes ItemType, EntityType, and other enums as string names
  instead of numeric IDs (addresses #2805)
- Adds GetItemTypeMappings and GetEntityTypeMappings commands
- Accepts both string names and numeric IDs for enum parameters
- Uses 4096 byte WebSocket buffer for better message handling

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-25 13:42:01 +00:00
Anon
484133f07a Run MCC at true 20 TPS 2026-03-23 14:29:04 +01:00
copilot-swe-agent[bot]
a2d032b549 Add Discord Rich Presence ChatBot integration
- Add DiscordRichPresence NuGet package (v1.143.0)
- Create DiscordRpc.cs ChatBot with configurable presence display
- Wire config in Settings.cs ChatBotConfig class
- Register bot in McClient.cs RegisterBots()
- Add translation strings to Translations.resx and Designer
- Add config comments to ConfigComments.resx and Designer
- Support placeholders: {server_host}, {server_port}, {username},
  {health}, {max_health}, {food}, {dimension}, {gamemode},
  {x}, {y}, {z}, {player_count}, {protocol}

Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/43388021-4264-47e6-8403-7a1bca66d86f
2026-03-23 00:03:55 +00:00
BruceChen
a3c918e946 feat: implement physics engine for player movement and collision detection
- Introduced a comprehensive physics engine that replicates Minecraft's movement mechanics, including player input handling, gravity, and collision detection.
- Added classes for player physics, movement input, and collision detection, ensuring accurate simulation of player interactions with the game world.
- Integrated AABB (Axis-Aligned Bounding Box) structures for precise collision detection against blocks.
- Enhanced movement capabilities with support for jumping, sneaking, and sprinting, along with step-up mechanics for navigating terrain.

These changes significantly improve the realism and responsiveness of player movement within the game environment.
2026-03-22 15:29:22 +08:00
Anon
28834e7a86 Implemented .net 10 support. Updated all affected libraries and the code. Not testes yet. 2026-03-21 20:07:20 +01:00
Anon
7152072598 Ported to .NET 8 2024-12-22 13:20:04 +01:00
breadbyte
08551097c6
Add Sentry Error Tracking (#2670)
* Add Sentry Error Tracking

* Omit personally identifiable information and add additional sentry context

* Remove debug message

* Make sentry opt-out and add related notices and strings

Also add Minecraft Version to error context

* Update build to send release info to sentry

* Adjust sentry error tracking

- Send the user-friendly Minecraft Version in the error logs
- Capture exceptions in more parts of the application

We now capture exceptions from the following locations:
- Protocol18 (1.8+) Packet errors
- Errors during client initialization phase (When client is about to start, session keys are NEVER sent to sentry)

* Make Sentry DSN configurable and repository-specific

The Sentry DSN will automatically be filled out on the main repository through the Github Actions build.

* Update build-and-release.yml

Update sed command

* style: change variable name

nitpick, just to make it a little bit more descriptive

* Add Sentry branding in README.

* remove old code (merge conflict)
2024-06-22 06:41:13 +08:00
dependabot[bot]
b8af534438
Bump Magick.NET-Q16-AnyCPU from 12.2.1 to 13.3.0 in /MinecraftClient
Bumps [Magick.NET-Q16-AnyCPU](https://github.com/dlemstra/Magick.NET) from 12.2.1 to 13.3.0.
- [Release notes](https://github.com/dlemstra/Magick.NET/releases)
- [Commits](https://github.com/dlemstra/Magick.NET/compare/12.2.1...13.3.0)

---
updated-dependencies:
- dependency-name: Magick.NET-Q16-AnyCPU
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-18 23:12:25 +00:00
dependabot[bot]
b4829eaca4
Bump Microsoft.Windows.Compatibility in /MinecraftClient
Bumps [Microsoft.Windows.Compatibility](https://github.com/dotnet/runtime) from 7.0.0 to 7.0.3.
- [Release notes](https://github.com/dotnet/runtime/releases)
- [Commits](https://github.com/dotnet/runtime/compare/v7.0.0...v7.0.3)

---
updated-dependencies:
- dependency-name: Microsoft.Windows.Compatibility
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-14 17:09:34 +00:00
BruceChen
7ee08092d4 legacy color support 2022-12-14 14:45:51 +08:00
BruceChen
5e11ed3896 Tooltip support & Bug fix 2022-12-11 13:00:19 +08:00
BruceChen
892999ac98 Merge into master 2022-12-06 20:32:46 +08:00
BruceChen
84cf749344 Implement command completion suggestions. 2022-12-06 15:50:17 +08:00
BruceChen
28827b720a Support downloading updates via command. 2022-12-01 22:55:48 +08:00
BruceChen
3713fa2dbe Update Tomlet to 5.0.1 2022-11-30 22:29:55 +08:00
BruceChen
2331590588 Store the text resources of the setting file separately. 2022-11-30 16:22:48 +08:00
BruceChen
f2f88ac009 Merge master into brigadier-dev 2022-10-29 11:44:54 +08:00
BruceChen
077e3a5e9f
Crowdin localization support (#2310)
* Switching to use resource files

* Update Crowdin configuration file

* Code cleanup
2022-10-28 11:13:20 +08:00
Milutinke
0468bde434 Added 2 new example chat bots, removed a really old one which was useless. 2022-10-26 21:31:31 +02:00
BruceChen
f8aefaf129 init 2022-10-26 08:54:54 +08:00
BruceChen
4925689496
Revert "Added the Web Socket Chat Bot" 2022-10-25 16:23:25 +08:00
Anon
477da50fe0
Merge branch 'master' into rpc 2022-10-24 20:45:40 +00:00
Milutinke
1272ffda0b Added a Telegram Bridge chat bot. 2022-10-24 15:35:24 +02:00
Milutinke
d8c9e1587b Added Resizing back to the Map Chat bot and added an option to send rendered images to Discord via Discord Bridge chat bot. 2022-10-21 20:25:48 +02:00
Milutinke
ec27ec53d7 Implemented the Discord Bridge Chat Bot. TODO: Translate 2022-10-21 02:29:47 +02:00
Milutinke
ed910aa9c7 Added the Web Socket Chat Bot. 2022-10-20 19:29:35 +02:00
BruceChen
16c1d1fd77 Refactoring Settings.cs 2022-10-05 15:02:30 +08:00
BruceChen
1d52d1eadd
Fix all warnings & Trim (#2226)
* Fix AutoFishing crash
* Fix all warnings
* Remove DotNetZip.
* Fix the usage of HttpClient.
2022-10-02 18:31:08 +08:00
Milutinke
77da611411 Added a command that executes other command if a condition is met. 2022-09-11 22:35:26 +02:00
Milutinke
d900824d6a Updated the Proxy library 2022-09-06 19:13:23 +02:00
BruceChen
75e7b0e37d Fix issue #2119 2022-08-28 16:18:29 +08:00
Booquefius
613f52d3ae
AuotoAttack: add support for multiple interact modes (#2044)
* Adds support for multiple interact modes
* Entity interaction: Implement enum

Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-08-15 23:31:17 +02:00
breadbyte
fd7f79402f
Scripting Hotfix for .NET (#2061)
* fix scripting being broken

scripting got broken due to being compiled as a single file application.

* move invoke to a helper function

also move MinecraftClient assembly fetch into the main assembly fetch loop

* Downgrade version of SingleFileExtractor

1.1.0 changed their internal API, so we use 1.0.1 to reduce the amount of reflection we need to do

* add exception messages
2022-08-15 18:30:56 +02:00
breadbyte
ea6788278d
Fix automated build for .NET releases (#2059)
* Fix automated build for .NET releases
* Update build-and-release.yml
* update submodule for building
* Update build-and-release.yml
* update consoleinteractive build
* Update build-and-release.yml
* set PublishSingleFile as true by default
* update csproj file to include compile flag

setting IncludeNativeLibrariesForSelfExtract to true removes the sni.dll output file.

* update build instructions on README
* move compile flags into env variable

- disable compilation of PDB files
- enable OSX builds
2022-08-15 18:20:25 +02:00
breadbyte
d9f1a77ac2
.NET 5+ Support (#1674)
Implement changes to support .NET 5 onwards.
Co-authored-by: ReinforceZwei <39955851+ReinforceZwei@users.noreply.github.com>
Co-authored-by: ORelio <ORelio@users.noreply.github.com>
2022-07-03 22:34:07 +08:00
Daenges
381b8ea7d1
Add setrnd command (#1846)
* Add setrnd command

* Make rand private

* Add console-like argument behaviour

* Remove unused using declarations

* Add german and english translations

* Improve translation, Add notice to config README, Add check wheather arguments are provided

* Add some comments

* Remove typo

* Add %player% constant to setrnd

* Remove test variable and add comments

* Remove typo

* Reverse changes

* Remove translations
2021-12-15 18:51:16 +08:00
ReinforceZwei
fdc3069083
Microsoft Sign-in: Migrate to our own client Id (#1827)
* Microsoft Sign-in: Migrate to our own client Id

- Drop support of "mcc" sign-in method
- Add nuget packages for decoding JWT

* Remove JWT nuget package

* Remove client secret

It is not needed after changing application type in Azure

* Change token validation method to expiration time

* Revert changes of dropping mcc sign-in method

* Add email pre-fill for browser sign-in
2021-12-04 19:15:58 +08:00
ReinforceZwei
9a9245f193
Update version to 1.18 (#1836) 2021-12-02 21:07:57 +08:00