Welcome to the Hyperion project! We love pull requests from the community. Contributors who consistently provide quality PRs may be eligible for sponsored subscriptions to AI development tools from @andrewgazelka to enhance their productivity.
- Development Tools
- Protocol Documentation
- Working with Protocol Documentation and LLMs
- Getting Help
- Development Setup
Essential tools to enhance your development workflow:
- Packet Inspector
- Debug and analyze Minecraft protocol packets
- Essential for protocol-related development
- flecs.dev/explorer
- View entities in the Entity Component System (ECS)
- Tracy Profiler
- Advanced performance profiling
- Helps identify bottlenecks
- Mineskin
- Upload skin PNG files
- Get Mojang-signed signatures for player skin customization
You can use https://github.com/andrewgazelka/mineskin-cli to use Mineskin from CLI.
https://docs.mineskin.org/docs/guides/getting-started/
We currently target Minecraft 1.20.1 protocol specification:
- Primary Reference: Wiki.vg Protocol (Version 18375)
Follow these steps to effectively use LLMs for packet analysis:
- Install the MarkDownload browser extension
- Navigate to Wiki.vg Protocol
- Use MarkDownload to save the page as Markdown
- Use the resulting file for LLM analysis
- Reference Valence's packets.json
- This helps map Wiki.vg specifications to Valence implementations
- Provide both Wiki.vg markdown and relevant packets.json sections
- Get assistance with:
- Packet structure mapping
- Implementation details
- Field mapping between specifications
Multiple channels are available for support:
- Issues: Open a GitHub issue for detailed discussions
- Discord: Join our community for real-time help
- Existing Resources: Check open PRs and issues for similar topics
- IntelliJ IDEA
- Recommended as the primary development environment
- Cursor
- AI-powered coding assistance
- Enhanced with cursor-sync for IntelliJ position synchronization
- Supermaven
- Enhanced code completion capabilities
We use pre-commit hooks to maintain code quality:
-
Installation
pip install pre-commit
-
Setup (Optional)
pre-commit install
-
Manual Run (Optional)
pre-commit run --all-files
The pre-commit configuration handles:
- Rust code formatting via
rustfmt
- Additional code quality verifications
Hooks run automatically on git commit
. If checks fail:
- Review the reported issues
- Make necessary corrections
- Attempt the commit again