mcc-version-adaptation

Adapt MCC palettes and protocol handlers for new Minecraft Java editions.

2.1k|471|Updated Jul 18, 2013
One-click install
npx skills add https://github.com/MCCTeam/Minecraft-Console-Client --skill mcc-version-adaptation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mcc-version-adaptation
Source: https://github.com/MCCTeam/Minecraft-Console-Client/tree/main/.skills/mcc-version-adaptation
Command: npx skills add https://github.com/MCCTeam/Minecraft-Console-Client --skill mcc-version-adaptation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This workflow helps MCC maintainers adapt the Minecraft Console Client to new Java edition releases by updating palettes, protocol mappings, entity metadata, block shapes, and routing logic to prevent ID shifts, metadata parsing errors, and packet mismatches that break connectivity or in-game correctness.

Core Features & Use Cases

  • Authoritative registry generation: produce registries.json, blocks.json and packets.json from the server jar to obtain runtime protocol IDs.
  • Registry diffing and palette generation: compare decompiled sources and server reports to generate updated Item, Block, Entity, Packet and EntityMetadata palettes as C# files.
  • Routing and protocol updates: update Protocol18 constants, palette routing switch expressions, packet palettes, and version mappings across the codebase.
  • Asset regeneration: regenerate block collision shapes, minimap color maps, and entity category mappings when block/entity sets change.
  • Validation and compilation: build the solution and validate against a local test server to confirm no ID shifts or metadata parsing failures.

Quick Start

Generate server reports from the target server.jar, run the registry diff script to identify palette changes, run the appropriate gen_* tools to produce new palette files, update protocol routing constants, then build and test against a matching test server.

Frequently Asked Questions about mcc-version-adaptation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I update Minecraft protocol palettes when porting to a new Java edition version?

To update Minecraft protocol palettes, generate authoritative registries from the server jar, diff decompiled sources to identify ID shifts, and run gen_* utilities to emit updated C# palette files for items, blocks, and packets.

Why does my Minecraft Console Client break after a new Java edition release?

Your Minecraft Console Client breaks because new releases introduce palette ID shifts, metadata parsing errors, and packet mismatches. Adapting protocol handlers, routing constants, and entity registries resolves these connectivity and in-game correctness issues.

What's the best way to generate authoritative registries for a new Minecraft protocol version?

The best way to generate authoritative registries is to extract registries.json, blocks.json, and packets.json directly from the target server.jar to obtain the runtime protocol IDs needed for palette generation.

Can I update entity metadata and block collision shapes without manually diffing the source code?

You cannot skip diffing entirely, but running the registry diff script and gen_* utilities automates comparing decompiled sources and server reports to regenerate block collision shapes, minimap color maps, and entity category mappings.

How do I validate protocol routing updates after modifying packet palettes in MCC?

To validate protocol routing updates, build the solution and run the client against a local test server matching the target version to confirm no ID shifts or entity metadata parsing failures occur.

Do I need to update Protocol18 routing constants when item and block IDs shift between versions?

Yes, you need to update Protocol18 routing constants, palette routing switch expressions, and version mappings across the codebase whenever item, block, or packet palette IDs shift between Minecraft versions.