Skip to content

urisinger/azalea-graphics

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,930 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Azalea

Meshing GIF

docs.rs

A collection of Rust crates for making Minecraft bots, clients, and tools.

Azalea

Currently supported Minecraft version: 26.1.2.

Warning

Many parts of Azalea are still unfinished and will receive breaking changes in the future. Most breaking changes will be listed in the changelog.

Features

<<<<<<< HEAD

Graphics

Azalea includes an experimental graphics client (azalea-graphics) that provides Vulkan-based rendering for visual debugging and development.

Prerequisites

  • Vulkan-compatible graphics driver
  • Python 3.7+ with requests package (for asset extraction)

Generating Assets

Before running the graphics client, you need to extract Minecraft assets:

# Install required Python dependency
pip install requests

# Extract assets
cd codegen
python genassets.py

This will download the Minecraft client JAR and extract all assets (textures, models, blockstates, etc.) to azalea-graphics/assets/.

Running the Graphics Client

# Run with default server (localhost:25565)
cargo run --example testbot

# Run with custom port
cargo run --example testbot -- 25566

# Run with custom server address
cargo run --example testbot -- "myserver.com:25565"

The graphics client supports:

  • Real-time chunk rendering with biome-accurate colors
  • Block state visualization
  • Texture mapping and colormap support (grass, foliage)
  • Camera controls for navigation

Current Limitations

The graphics client is experimental and has several limitations:

  • Entities: Players, mobs, and other entities are not rendered
  • Block colors: Not all blocks have block colors implemented, and most are still broken.
  • Block geometry: Simple cube rendering only - no proper rotation, UV mapping, or complex models
  • Special blocks: No support for animated or special rendering (water, lava, transparent blocks, connected textures)
  • Lighting: No dynamic lighting or shadows
  • Particles: No particle effects

Some blocks may appear with incorrect textures or orientations due to these limitations.

Note

The graphics client is experimental and primarily intended for development and debugging purposes.

Docs

The "stable" documentation is available at docs.rs/azalea and the unstable docs are at azalea.matdoes.dev (recommended).

Matrix/Discord

If you'd like to chat about Azalea, you can join the Matrix space at #azalea:matdoes.dev (recommended) or the Discord server at discord.gg/FaRey6ytmC (they're bridged so you don't need to join both).

=======

upstream/main

Goals

  • Support everything that a vanilla Minecraft client can do.
  • Have an intuitive and easy to use API.
  • Make it easy to have many bots working at the same time.
  • Don't trigger anti-cheats.
  • Support the latest Minecraft version.
  • Be fast and efficient.

Non-goals

<<<<<<< HEAD

  • Supporting several versions of Minecraft on the same branch*.
  • Bedrock edition.

=======

  • Supporting multiple versions of Minecraft at the same time*.
  • Graphics*.
  • Bedrock edition.

Documentation

The stable documentation for the main azalea crate is available at docs.rs/azalea, and the unstable documentation is at azalea.matdoes.dev.

Matrix/Discord

If you'd like to chat about Azalea, you can join the Matrix space at #azalea:matdoes.dev or the Discord server at discord.gg/FaRey6ytmC. The channels are bridged so you don't need to join both.

upstream/main

Real-world bots using Azalea

Here's an incomplete list of bots built using Azalea, primarily intended as a reference in addition to the existing documentation and examples:

You can see more projects built with Azalea in the GitHub dependency graph.

Plugins

Azalea has support for Bevy plugins which can significantly alter its functionality. Here are some plugins that you may find useful:

If you've created your own plugin for Azalea, please create a PR to add it to this list :).

Funding

Azalea is currently maintained primarily by one person as a hobby project. If you appreciate Azalea, please consider sponsoring it with GitHub Sponsors or on Ko-fi.

About

A collection of Rust crates for making Minecraft bots, clients, and tools.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 95.9%
  • Python 3.0%
  • GLSL 1.0%
  • HTML 0.1%
  • Nix 0.0%
  • RenderScript 0.0%