be6e1f79f1
* Add new 1.12.2 packets and shift IDs CraftRecipeResponse AdvancementTab SelectAdvancementTab Advancements CraftingRecipeRequest UnlockRecipes CraftingBookData * Fix unlock recipes packet, add length-prefixed arrays https://wiki.vg/index.php?title=Protocol&oldid=14204#Unlock_Recipes * Update resources to 1.12.2 * Handle NBTTag metadata (value 13), parsed as nbt::NamedTag https://wiki.vg/index.php?title=Entity_metadata&oldid=14048#Entity_Metadata_Format https://github.com/iceiix/steven/pull/40#issuecomment-443454757 * Fix entity packet IDs, 0x25 now is Entity https://wiki.vg/index.php?title=Protocol&oldid=14204#Entity * Add NBT long array (type 12) support https://wiki.vg/NBT#Specification * Entity metadata type is now a VarInt, not u8: https://wiki.vg/index.php?title=Entity_metadata&oldid=14048#Entity_Metadata_Format * Keep alives changed to longs, no longer VarInts https://wiki.vg/index.php?title=Protocol&oldid=14204#Keep_Alive_.28serverbound.29 * Parse CraftRecipeResponse (0x2b) * Add structs for advancements data * Implement Serializable trait for Advancement and AdvancementDisplay * Implement advancement progress parsing; advancement packet works * Particle packet adds fallingdust (46) with length 1 https://wiki.vg/index.php?title=Protocol&oldid=14204#Particle_2 |
||
---|---|---|
blocks | ||
gl | ||
resources | ||
shared | ||
src | ||
.gitignore | ||
.travis.yml | ||
Cargo.lock | ||
Cargo.toml | ||
LICENSE-APACHE | ||
LICENSE-MIT | ||
README.md | ||
appveyor.yml |
README.md
Steven (Rust)
A Minecraft client coded in Rust. Ported from steven-go. Don't expect it to go anywhere, just doing this for fun.
Images
In action: http://gfycat.com/NeedyElaborateGypsymoth
Chat
I generally am on the irc.spi.gt
irc network in the #think
channel.
Feel free to pop in to say hi, Webchat can be found here
Downloads
Windows users can download pre-compiled builds from here: https://ci.appveyor.com/project/iceiix/steven (Select your platform, Click the artifacts tab and download Steven.zip)
The Visual Studio 2017 Redistributable is required to run these builds.
Building
Currently requires Rust version 1.31.0-beta or newer to build.
Compile and run:
cargo run --release
Just compile:
cargo build --release
Prerequisites
An easy way to manage multiple Rust toolchains is rustup
. Installation instructions for rustup
can be found on its website.
Once you've set up rustup
, grab Rust beta by running
rustup install beta
Now we need to make sure that steven
is compiled with beta. To do this without making beta the default across the entire system, run the following command in the steven
directory:
rustup override set beta
Running
Standalone
Just running steven via a double click (Windows) or ./steven
(everything else)
will bring up a login screen followed by a server list which you can select a server
from.