Commit graph

1897 commits

Author SHA1 Message Date
Anon
535b95f4b9
Merge pull request #2956 from milutinke/ai-dev-workflow-docs 2026-03-22 16:09:02 +01:00
Anon
d95b6bb9eb Added links for skills 2026-03-22 16:04:45 +01:00
Anon
aa59c4d75a Updated the installation methods, updated creating bots. Removed Web Socket Bot pages. 2026-03-22 15:57:44 +01:00
Anon
e4aeb51f71 Updated documentation to the latest state 2026-03-22 15:40:05 +01:00
Anon
9613e0df51 Added AI Assisted development documentation. Updated Vuepress to the latest version. Added SEO and Sitemap plugins to Vuepress. 2026-03-22 14:29:02 +01:00
BruceChen
cffddb398e
Merge pull request #2955 from BruceChenQAQ/master
Add Minecraft 26.1 Support
2026-03-22 20:27:28 +08:00
BruceChen
d1837d104b feat: handle 26.1 protocol changes and snapshot version support
- Protocol18: add MC_26_1_Version constant (775), version-gated palette
  routing for blocks/items/entities/metadata, and new TimeUpdate packet
  format (WorldClock map replaces dayTime+tickDayTime)
- Protocol18Terrain: read new fluidCount short in chunk sections (26.1+)
- DataTypes: add CatSoundVariant to entity metadata VarInt readers
- ProtocolHandler: add NormalizeSnapshotProtocol() to map RC/snapshot
  protocol numbers (e.g. 0x4000012E → 775) to release versions, pass
  raw protocol version through for server handshake compatibility

Made-with: Cursor
2026-03-22 20:04:08 +08:00
BruceChen
d4014f7c87 feat: add 26.1 packet palette, structured components registry, and version routing
Add PacketPalette261 with new packet types (GameRuleValues, LowDiskSpaceWarning,
Attack, SetGameRule). Create StructuredComponentsRegistry261 with 6 new components
(additional_trade_cost, dye, pig/cow/chicken/cat sound_variant). Update version
routing in PacketType18Handler, EntityMetadataPalette, StructuredComponentsHandler,
and Program.cs to support protocol 775 (26.1).

Made-with: Cursor
2026-03-22 20:04:08 +08:00
BruceChen
e3d3a86ac2 feat: add 26.1 palette files and new enum values
Add item, block, entity, and entity metadata palettes for Minecraft 26.1.
New enums: GoldenDandelion (item/block), PottedGoldenDandelion (block),
CatSoundVariant, CowSoundVariant, PigSoundVariant, ChickenSoundVariant
(entity metadata). Update gen_entity_metadata_palette.py FIELD_TO_ENUM
mapping for the new sound variant types.

Made-with: Cursor
2026-03-22 20:04:08 +08:00
Anon
052993a2c1
Merge pull request #2954 from milutinke/mcc-gui-update 2026-03-22 12:49:14 +01:00
Anon
33fccf85b5 Added changes from 2927 2026-03-22 12:45:52 +01:00
breadbyte
d25f2f40ec
Update Github Actions to be more robust with releases (#2952)
* Update build-and-release.yml
2026-03-22 18:34:19 +08:00
BruceChen
397ab07d1f [skipci] docs: update MCC development workflow documentation
- Revised the SKILL.md file to enhance clarity and detail regarding the development workflow for Minecraft Console Client (MCC).
- Expanded sections on project structure, build commands, and debugging steps, including specific instructions for compiling, starting a test server, and running MCC.
- Added environment setup details and a checklist for server configuration, improving usability for developers.
- Included new tools and scripts for server management and decompilation processes, streamlining the development experience.

These updates provide comprehensive guidance for developers working with MCC in WSL.
2026-03-22 16:34:12 +08:00
BruceChen
3afbae4f89 fix: correct global state indexing in block shape processing
- Adjusted the indexing logic in BlockShapes.cs to ensure proper mapping of state counts to shape IDs.
- Introduced a global state offset to accurately reference shape IDs in the list, preventing out-of-bounds errors during shape assignment.

These changes enhance the reliability of block shape processing in the physics engine.
2026-03-22 16:34:12 +08:00
BruceChen
38e86eb209
Merge pull request #2953 from BruceChenQAQ/master
feat: implement physics engine for player movement and collision detection
2026-03-22 15:51:23 +08:00
BruceChen
e3a2593781 feat: add cursor indexing ignore rules for SpecStory files
- Introduced a new `.cursorindexingignore` file to prevent indexing of SpecStory auto-save files while allowing explicit context inclusion via @ references.
- Updated `.gitignore` to exclude the entire `.specstory/` directory and `.vscode/settings.json`, ensuring these files are not tracked by Git.

These changes help streamline project management by excluding unnecessary files from indexing and version control.
2026-03-22 15:30:42 +08: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
BruceChen
cca4134e8b feat: enhance decompilation and server management scripts
- Introduced `decompile.sh` to automate the decompilation process, including downloading `MinecraftDecompiler.jar` and server.jar for specified Minecraft versions.
- Added `mc-rcon.sh` for sending RCON commands to a Minecraft server, improving server management capabilities.
- Created `mcc-env.sh` to provide helper functions for managing Minecraft servers, including starting, stopping, and sending commands.
- Implemented `start-server.sh` to launch a Minecraft server in a tmux session with a named pipe for stdin, facilitating easier command input.
- Updated `README.md` to reflect new tools and usage instructions for decompiling and server management.

These changes streamline the workflow for adapting to new Minecraft versions and enhance the overall development experience.
2026-03-22 15:28:57 +08:00
breadbyte
9e3bfaa868 Update ConsoleInteractive submodule 2026-03-22 13:50:20 +08:00
Anon
d3151925fe
Merge pull request #2950 from milutinke/bug-fixes-2026-03 2026-03-22 00:44:40 +01:00
Anon
e2746ae0d1 Implemented new Delcare Command packet for new versions 1.20.6-1.21.11 and fixed it for 1.20.4. 2026-03-22 00:42:43 +01:00
Anon
c5b22eb1b2
Merge pull request #2948 from milutinke/bug-fixes-2026-03 2026-03-21 22:46:57 +01:00
Anon
b4e69da81f Temporary fix for Declare Commands crashing sending commands in chat. 2026-03-21 22:44:57 +01:00
Anon
9f4abfdd39
Merge pull request #2947 from milutinke/bug-fixes-2026-03 2026-03-21 22:37:13 +01:00
Anon
c50b9a5b63 Fixed a crash on PlayerInfo packet. 2026-03-21 22:22:18 +01:00
Anon
bd6fb7332f
[skipci]Merge pull request #2946 from MCCTeam/dependabot/npm_and_yarn/docs/minimatch-3.1.5 2026-03-21 21:40:15 +01:00
Anon
6833e60cb5
[skipci]Merge pull request #2945 from MCCTeam/dependabot/npm_and_yarn/docs/immutable-4.3.8 2026-03-21 21:39:59 +01:00
dependabot[bot]
c38162584d
chore(deps): Bump minimatch from 3.1.2 to 3.1.5 in /docs
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.5.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.5)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 20:28:32 +00:00
dependabot[bot]
abe6b9f01b
chore(deps): Bump immutable from 4.1.0 to 4.3.8 in /docs
Bumps [immutable](https://github.com/immutable-js/immutable-js) from 4.1.0 to 4.3.8.
- [Release notes](https://github.com/immutable-js/immutable-js/releases)
- [Changelog](https://github.com/immutable-js/immutable-js/blob/main/CHANGELOG.md)
- [Commits](https://github.com/immutable-js/immutable-js/compare/v4.1.0...v4.3.8)

---
updated-dependencies:
- dependency-name: immutable
  dependency-version: 4.3.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-21 20:27:38 +00:00
Anon
1ac9df86a4
Merge pull request #2944 from milutinke/net-10 2026-03-21 21:23:43 +01: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
fb896c45a7 Fixed a typo in a workflow YAML. 2026-03-21 20:11:14 +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
Anon
5488140261
[skipci]Merge pull request #2941 from milutinke/skills-centralization 2026-03-21 19:36:17 +01:00
Anon
3f431f1104 Added skill-creator skill from Anthropic 2026-03-21 19:26:52 +01:00
BruceChen
78dc74a6f0
Merge pull request #2943 from BruceChenQAQ/master
fix: use HashedStack for container_click and fix enchantments parsing…
2026-03-22 02:23:08 +08:00
Anon
bf04141167 Improved AGENTS.md 2026-03-21 19:20:35 +01:00
BruceChen
c0c4c078c0 fix: use HashedStack for container_click and fix enchantments parsing for 1.21.5+
Two bugs fixed:

1. EnchantmentsComponent was reading a trailing ShowTooltip boolean that
   was removed from the wire format in MC 1.21.5. Created
   EnchantmentsComponent1215 and StoredEnchantmentsComponent1215 that
   omit the boolean. Used by StructuredComponentsRegistry1215 and 12111.

2. MC 1.21.5+ changed ServerboundContainerClickPacket to use HashedStack
   (item holder id + count + hashed component patch map) instead of full
   ItemStack for changed slots and carried item. Added GetHashedItemSlot()
   in DataTypes.cs and gated SendWindowAction in Protocol18.cs to use it
   for 1.21.5+. Since MCC doesn't track component hashes, an empty
   HashedPatchMap is sent; the server detects stateId mismatch and resyncs.

Tested: AutoFishing bot successfully catches fish on MC 1.21.11 with
enchanted fishing rods (Lure III + Luck of the Sea III).

Made-with: Cursor
2026-03-22 02:18:01 +08:00
Anon
cf5c4f00cb Added AGENTS.md/CLAUDE.md and a C# 12 best practices skill for MCC. 2026-03-21 19:12:13 +01:00
BruceChen
bc60e99a63
Merge pull request #2942: Add Minecraft 1.21.11 (Protocol 774) Support
Add Minecraft 1.21.11 (Protocol 774) Support
2026-03-22 01:38:31 +08:00
BruceChen
6c36dc341a feat: add version routing, structured components, and metadata for MC 1.21.11
- Add MC_1_21_11_Version constant (protocol 774)
- Create StructuredComponentsRegistry12111 with 104 components (8 new:
  use_effects, minimum_attack_charge, damage_type, attack_range,
  piercing_weapon, kinetic_weapon, swing_animation, zombie_nautilus/variant)
- Add 6 new component classes for 1.21.11 wire formats
- Add RegistryEitherHolderComponent for holderRegistry-backed EitherHolder
- Add ZombieNautilusVariant and HumanoidArm cases in DataTypes.ReadNextMetadata
- Update all version routing in Protocol18, PacketType18Handler,
  EntityMetadataPalette, StructuredComponentsHandler, and ProtocolHandler
- Bump MCHighestVersion to 1.21.11

Made-with: Cursor
2026-03-22 00:56:04 +08:00
BruceChen
50b4b3c8fe feat: add palettes and enums for MC 1.21.11 (protocol 774)
Add 17 new items (spears, nautilus armor, spawn eggs, netherite horse armor),
4 new entities (CamelHusk, Nautilus, Parched, ZombieNautilus), and 2 new
entity metadata serializer types (ZombieNautilusVariant, HumanoidArm).

Generated ItemPalette12111 (1505 items), EntityPalette12111 (157 entities),
and EntityMetadataPalette12111 (39 serializers) from server reports.

Made-with: Cursor
2026-03-22 00:49:33 +08:00
Anon
a1c1dbc182 Added bot creation skill 2026-03-21 17:34:34 +01:00
Anon
918f1a560d Centralized skills to .skills folder. 2026-03-21 14:44:47 +01:00
BruceChen
c5537c0444
Merge pull request #2940: Add Minecraft 1.21.9/1.21.10 (Protocol 773) Support
Add Minecraft 1.21.9/1.21.10 (Protocol 773) Support
2026-03-21 15:35:06 +08:00
BruceChen
34671fdab2 feat: enhance palette generation and validation for MC 1.21.9
Updated the SKILL.md documentation to include critical steps for generating server reports and validating decompiled source against server data, emphasizing the importance of using server data since MC 1.21.9. Enhanced the diff_registries.py script to support cross-validation with server registries.json, allowing for accurate palette generation. Added new scripts for generating block and entity palettes from server data, ensuring completeness and correctness of entries.

This update improves the workflow for adapting to new Minecraft versions and ensures that palette generation reflects the latest changes in item and block registration.

Made-with: Cursor
2026-03-21 15:04:20 +08:00
BruceChen
60c2b9ea7e
Merge pull request #2939: Add Minecraft 1.21.7/1.21.8 (Protocol 772) Support
Add Minecraft 1.21.7/1.21.8 (Protocol 772) Support
2026-03-21 14:45:13 +08:00
BruceChen
aebfcd93e4 fix: regenerate item/block palettes from server registry data for 1.21.9
MC 1.21.9 changed how some items and blocks are registered — 24 block
items (copper bars/chains/lanterns variants, potted azalea renames) and
additional blocks are now registered outside of Items.java/Blocks.java
field declarations, making the previous source-field-order-based palette
generation produce incorrect protocol IDs.

Regenerated ItemPalette1219.cs using server registries.json (1488 items,
up from 1464) and Palette1219.cs using blocks.json (1166 blocks with
correct state IDs). Added 37 new enum values to ItemType.cs (35 new +
DryShortGrass/DryTallGrass for backward compat) and 9 new values to
Material.cs.

Verified all item/block/entity identification against a 1.21.10 server.

Made-with: Cursor
2026-03-21 14:43:56 +08:00
BruceChen
6d3c58b29f fix: handle LpVec3 movement encoding in SpawnEntity for 1.21.9+
Minecraft 1.21.9 changed the SpawnEntity (Add Entity) packet layout:
the velocity/movement field was moved before the angle fields and
switched from 3 x Short to a new variable-length LpVec3 encoding.

Add ReadNextLpVec3() to consume the LpVec3 wire format (1 byte header,
optionally 5+ more bytes with a continuation VarInt), and update
ReadNextEntity() to use the new field order for protocol >= 773.

Made-with: Cursor
2026-03-21 14:11:23 +08:00
BruceChen
88e9c671da feat: add version routing and metadata reading for MC 1.21.9
- Route block/entity/item/packet/metadata palettes to new 1219 variants
  for protocol >= 773, and raise upper-bound guards from MC_1_21_7 to
  MC_1_21_9 so terrain, inventory, and entity handling are enabled.
- Add DataTypes readers for three new entity metadata serializer types:
  CopperGolemState and WeatheringCopperState (both VarInt), and
  ResolvableProfile (composite: Either<GameProfile, Partial> with
  optional name/UUID/properties + PlayerSkin.Patch with 4 optional
  fields for body/cape/elytra texture ResourceLocations and model type).

Made-with: Cursor
2026-03-21 14:05:06 +08:00