Go to file
iceiix be6e1f79f1 1.12.2 protocol support (340) (#40)
* 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
2018-12-02 19:37:41 -08:00
blocks Disable three stylistic Clippy warnings, var names/params, never loop 2018-11-04 15:01:44 -08:00
gl Remove unnecessary 'extern crate's in Rust 2018 edition, import macros 2018-11-04 12:39:23 -08:00
resources Update Cargo.tomls to Rust edition 2018, fix crate imports. Closes #13 2018-11-04 12:15:34 -08:00
shared Use field init shorthand, instead of x:x, just x, 2018-11-04 13:43:30 -08:00
src 1.12.2 protocol support (340) (#40) 2018-12-02 19:37:41 -08:00
.gitignore Update to Minecraft 1.11 (Fixes #63) 2016-12-09 14:32:02 +00:00
.travis.yml Use glutin to replace sdl2 (#35) 2018-11-30 11:35:35 -08:00
Cargo.lock Bump byteorder from 1.2.6 to 1.2.7 (#45) 2018-12-02 07:16:31 -08:00
Cargo.toml Bump byteorder from 1.2.6 to 1.2.7 (#45) 2018-12-02 07:16:31 -08:00
LICENSE-APACHE Duel license under MIT and ApacheV2 2016-03-26 17:34:47 +00:00
LICENSE-MIT Duel license under MIT and ApacheV2 2016-03-26 17:34:47 +00:00
README.md Use glutin to replace sdl2 (#35) 2018-11-30 11:35:35 -08:00
appveyor.yml AppVeyor: skip building branches and 32-bit Windows (#39) 2018-12-01 09:29:18 -08:00

README.md

Steven (Rust)

Build Status

A Minecraft client coded in Rust. Ported from steven-go. Don't expect it to go anywhere, just doing this for fun.

Images

Steven on Hypixel Steven

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.