copilot-swe-agent[bot]
3fb7625b39
Add chat formatting code propagation (bold, italic, underline, strikethrough, obfuscated)
...
Re-implements PR #2851 against the current System.Text.Json.Nodes codebase.
Changes:
- ChatParser.cs: Add FormattingCodes dict, update JSONData2String to propagate
formatting codes alongside colors, update NbtToString for the NBT chat path
(used in MC 1.20.4+), fix root-string shortcut to preserve formatting prefix
- DiscordBridge.cs: Add GetDiscordText() converting § codes to Discord Markdown,
handle unclosed formatting codes with end-of-string matching
End-to-end tested against Minecraft 1.21.11 (MC 26.1) offline server.
All 8 formatting types verified: bold(§l), italic(§o), strikethrough(§m),
underline(§n), combined, nested, reset-via-false, obfuscated(§k).
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/65b0d230-287c-4ed8-9b3c-a5ea25411804
2026-03-24 20:18:53 +00:00
copilot-swe-agent[bot]
654a16907b
Modernize data carriers to records and add primary constructors
...
Convert 14 data carrier classes to records:
- VillagerInfo, MapIcon, EnchantmentData: non-positional records (mutable properties)
- ForgeMod, SkinInfo, VillagerTrade, Node, Response: positional records
- CommandNode: sealed positional record
- CommandArgumentDescriptor: readonly record struct
- ColorRGBA: record struct (multiple constructors preserved)
- RecipeConfig, Recipe, BannerLayer: non-positional records
Add primary constructors to 6 classes:
- DataTypes, Protocol18Terrain, Protocol18Forge, ItemMovingHelper,
LastSeenMessageList, Acknowledgment, SuggestionTooltip
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 01:31:17 +00:00
copilot-swe-agent[bot]
c7bc25aa17
refactor: convert == null / != null to is null / is not null in 31 files
...
Replace old-style null comparisons with modern C# pattern matching
syntax across Commands, Protocol, Mapping, ChatBots, Physics,
Inventory, Logger, CommandHandler, Scripting, Crypto, and other modules.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 00:42:59 +00:00
copilot-swe-agent[bot]
c5df6a49c6
Modernize null-check patterns: use 'is null' and 'is not null'
...
Replace '== null' with 'is null' and '!= null' with 'is not null'
across 19 core files following modern C# pattern matching conventions.
Only literal null comparisons are changed. Assignments, value
comparisons, and LINQ expressions are left untouched.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 00:28:02 +00:00
copilot-swe-agent[bot]
74def7c512
Modernize lock object declarations from object to System.Threading.Lock
...
Replace all lock object declarations using 'object' type with the C# 13
System.Threading.Lock type across 12 files. The Lock type provides a
more efficient locking mechanism - when used with lock(), the compiler
automatically uses Lock.EnterScope() instead of Monitor.Enter/Exit.
Also made two previously non-readonly lock fields readonly:
- McClient.DigLock
- Protocol18.MessageSigningLock
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-24 00:15:21 +00:00
Anon
484133f07a
Run MCC at true 20 TPS
2026-03-23 14:29:04 +01:00
Anon
2d8412ce29
Embed Discord RPC pipe client in DiscordRpc bot
2026-03-23 03:06:00 +01:00
Anon
1d4ff226e0
Limit custom Discord RPC pipe client to Linux
2026-03-23 03:01:06 +01:00
Anon
8bedcece52
Fix Discord RPC Unix IPC path detection
2026-03-23 02:58:43 +01:00
copilot-swe-agent[bot]
221b82643d
Fix DiscordRpc to send presence only after game join, apply C# best practices, remove temp E2E scripts
...
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/80d151a5-aee7-4ae6-8497-9e7487d25136
2026-03-23 01:05:48 +00:00
copilot-swe-agent[bot]
6c1449439c
Add Discord RPC E2E test scripts and address code review feedback
...
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/a41f3e83-c88d-4c57-971b-54c380891556
2026-03-23 00:49:34 +00:00
copilot-swe-agent[bot]
5a9786cb0b
Add Discord RPC setup tutorial, Discord Bridge AllowOtherBotMessages config, and enhance integration tests
...
Co-authored-by: milutinke <441903+milutinke@users.noreply.github.com>
Agent-Logs-Url: https://github.com/MCCTeam/Minecraft-Console-Client/sessions/a41f3e83-c88d-4c57-971b-54c380891556
2026-03-23 00:41:40 +00:00
copilot-swe-agent[bot]
02686de79c
Add granular privacy controls: ShowCoordinates, ShowHealth, ShowDimension, ShowGamemode
...
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:13:03 +00:00
copilot-swe-agent[bot]
8743129e72
Address code review: fix party max, rename food variable, add ShowServerAddress option
...
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:08:08 +00: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
Anon
5b9cc4aa0e
Tested the client against 1.21.11 on .net 10. Created a integration testing skill (end-to-end).
2026-03-21 21:02:13 +01: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
BruceChen
967f67190c
Add FileInputBot for non-interactive debugging and fix NbtToString crash
...
FileInputBot (ChatBots/FileInputBot.cs):
- New ChatBot that monitors a text file (default: mcc_input.txt) for
commands, enabling MCC control from Cursor Shell or any non-interactive
environment where stdin is not available
- Activated by setting MCC_FILE_INPUT env var (e.g. MCC_FILE_INPUT=1)
- Polls every ~500ms for new lines appended to the file
- Lines starting with "/" are sent as server chat/commands
- Other lines are executed as MCC internal commands (same as console input)
- File path overridable via MCC_INPUT_FILE env var
McClient.cs:
- Load FileInputBot when MCC_FILE_INPUT environment variable is set
ChatParser.cs - NbtToString:
- Fix InvalidCastException when NBT "text" or nameless root tag values
are Int32 instead of String (happens with 1.20.6 SystemChat packets
containing numeric values in the chat component tree)
- Replace direct (string) casts with ?.ToString() ?? string.Empty
Made-with: Cursor
2026-03-19 00:45:51 +08:00
BruceChen
ff1c570a78
Handle non-interactive terminal environments gracefully
...
When MCC runs in non-interactive terminals (e.g. CI runners, IDE
embedded shells, piped input), several Console APIs throw exceptions
because there is no real console attached.
Changes:
- Program.cs: Wrap Console.KeyAvailable / Console.ReadKey in
HandleFailure() with try-catch so MCC does not crash on startup
failure in headless environments.
- Chunk.cs: Wrap Console.BufferWidth / BufferHeight in try-catch
with fallback values (120x50) to prevent exceptions when rendering
chunk maps without a console buffer.
- Map.cs: Same treatment for the map rendering path - use safe
fallback values when Console.BufferWidth/Height are unavailable.
- ReplayHandler.cs: Replace Array.Reverse() (returns void in newer
.NET) with .AsEnumerable().Reverse() to fix compilation with
.NET 10 SDK where the void return breaks the fluent chain.
Made-with: Cursor
2026-03-19 00:11:13 +08:00
Anon
8b20973b02
Temporarily removed WebSocket bot because of a false positive virus detection. I will make it in to a standalone bot later.
2025-05-22 13:56:27 +02:00
Anon
2409de2a2f
Fix prevent AntiCheat Block Breaking (In Scripts)
...
Fix prevent AntiCheat Block Breaking (In Scripts)
2024-12-25 16:56:07 +01:00
breadbyte
a72a8cf833
Make AutoRelog more reliable
...
Makes AutoRelog more hands on with the relogging rather than have the general relogging handler handle it.
Fallback to the general handler only when the AutoRelog module is disabled.
2024-03-07 09:54:40 +08:00
Roman Danilov
91ef890bb6
Auxiliary class for Direction, preparation for autodetection of the broken side of the block
2024-03-05 20:30:58 +05:00
Roman Danilov
fde50c1728
AntiCheat fix prevent Block Breaking
2024-03-05 18:54:29 +05:00
Anon
790e0bfe55
Implemented 1.20.3
2024-01-30 12:51:47 +01:00
Anon
480f0d85f0
Fixed merge conflicts
2023-12-02 13:34:11 +01:00
Anon
cf6db27088
[skipci] Websocket bot: Create new Responder object that will respond to the session's new name
...
Websocket bot: Create new Responder object that will respond to the session's new name
2023-11-20 17:50:04 +01:00
zorua162
d49a597671
Create new Responder object that will repond to the session's new name
2023-11-19 21:07:09 +00:00
zorua162
1f4db70f8a
Added extra config to the WebSocket bot AllowIpAlias, which allows enabling of any IP to be used to host the WebSocket bot from
2023-11-19 13:43:32 +00:00
zorua162
fd1009b43f
Revert "Add an IP lookup to the WebSocketBot"
...
This reverts commit 0a149647b6 .
2023-11-19 12:57:09 +00:00
zorua162
0a149647b6
Add an IP lookup to the WebSocketBot
2023-11-18 22:00:16 +00:00
Anon
93112d2c02
Implemented 1.20.2 fully, needs more testing
2023-11-17 18:21:57 +01:00
ReinforceZwei
37bcad37e0
[skip ci] Normalize all line endings
2023-09-15 14:44:11 +08:00
Anon
c5a0409edc
Added documentation examples and covered an edge case
2023-07-16 20:45:24 +02:00
Anon
fe5f07306d
Added a random interval option to the wait command
2023-07-16 20:37:56 +02:00
Anon
272900d52e
Added slab handling for 1.20/.1
...
Added Farm bot crops handling for 1.20/.1
Added utilities for Containers/Inventories
Added bot movement lock to prevent multiple bots that use movements from running at the same time.
General code improvements.
2023-06-23 16:25:18 +02:00
Anon
95f6c5768d
Fixed session renaming not working, fixed command handling
2023-05-28 15:15:43 +02:00
Anon
1efa55206f
Re-added WebSocketChat bot and improved it, no longer using WebsocketSharp library
2023-05-27 19:46:28 +02:00
Anon
cfc2baa4e7
Translated
2023-05-21 12:11:58 +02:00
Anon
413cb1860d
Implemented Items Collector bot
2023-05-20 21:44:18 +02:00
dariusel_caroserie
7107023d37
Update Alert.cs ( #2496 )
2023-05-06 21:55:21 +08:00
Anon
beabe14c92
Updated Farm Bot for 1.19.3 and 1.19.4
2023-03-31 17:27:19 +02:00
Anon
0f77828ac5
Updated translations
2023-03-26 14:33:06 +02:00
Anon
f6850920a3
Merge branch 'MCCTeam:master' into telegram-limit-quit
2023-03-26 12:19:00 +00:00
ReinforceZwei
29be211946
FollowPlayer: Improve player detection
2023-03-25 17:29:30 +08:00
Anon
91791e99c7
Restricted usage of quit/exit commands in the TelegramBridge chat bot due to Telegram caching causing problems
2023-03-02 20:04:24 +01:00
BruceChen
1f54a7c247
Fix 1.19.3 key exchange in offline mode
2023-01-17 20:16:35 +08:00
BruceChen
730cdf92e7
Merge remote-tracking branch 'origin/master' into pr/2393
2023-01-16 14:46:18 +08:00
BruceChen
d65f69fad4
[SKIP_BUILD]Merge pull request #2405 from ReinforceZwei/attack_range
...
AutoAttack: Add setting for attack range
2023-01-16 14:16:37 +08:00
BruceChen
338f534239
Fix script not showing execution results.
2023-01-15 19:59:57 +08:00