Go to file
iceiix 2b641c9af3 1.7.10 (5) multiprotocol support (#64)
Adds 1.7.10 protocol version 5 support, a major update with significant changes.
Expands https://github.com/iceiix/steven/issues/18 Enhance protocol support

* Add v1_7_10 protocol packet structures and IDs

* EncryptionRequest/Response i16 variant in login protocol

* 1.7.10 slot NBT data parsing

* Support both 1.7/1.8+ item::Stack in read_from, using if protocol_verson

* 1.7.10 chunk format support, ChunkDataBulk_17 and ChunkData_17

* Extract dirty_chunks_by_bitmask from load_chunks17/18/19

* Implement keepalive i32 handler

* Send PlayerPositionLook_HeadY

* Send PlayerBlockPlacement_u8_Item_u8y

* Handle JoinGame_i8_NoDebug

* Handle SpawnPlayer_i32_HeldItem_String

* BlockChange_u8, MultiBlockChange_i16, UpdateBlockEntity_Data, EntityMove_i8_i32_NoGround, EntityLook_i32_NoGround, EntityLookAndMove_i8_i32_NoGround

* UpdateSign_u16, PlayerInfo_String, EntityDestroy_u8, EntityTeleport_i32_i32_NoGround

* Send feet_y = head_y - 1.62, fixes Illegal stance

https://wiki.vg/index.php?title=Protocol&oldid=6003#Player_Position

> Updates the players XYZ position on the server. If HeadY - FeetY is less than 0.1 or greater than 1.65, the stance is illegal and the client will be kicked with the message “Illegal Stance”.

> Absolute feet position, normally HeadY - 1.62. Used to modify the players bounding box when going up stairs, crouching, etc…

* Set on_ground = true in entity teleport, fixes bouncing

* Implement block change, fix metadata/id packing, bounce _u8 through on_block_change

* Implement on_multi_block_change_u16, used with explosions
2018-12-17 15:59:17 -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.7.10 (5) multiprotocol support (#64) 2018-12-17 15:59:17 -08:00
.gitignore Update to Minecraft 1.11 (Fixes #63) 2016-12-09 14:32:02 +00:00
.travis.yml Update to Rust stable 1.31.0. Closes https://github.com/iceiix/steven/issues/47 (#60) 2018-12-06 18:16:57 -08:00
Cargo.lock Bump serde from 1.0.80 to 1.0.82 (#66) 2018-12-14 18:17:35 -08:00
Cargo.toml Bump serde from 1.0.80 to 1.0.82 (#66) 2018-12-14 18:17:35 -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 Update to Rust stable 1.31.0. Closes https://github.com/iceiix/steven/issues/47 (#60) 2018-12-06 18:16:57 -08:00
appveyor.yml Update to Rust stable 1.31.0. Closes https://github.com/iceiix/steven/issues/47 (#60) 2018-12-06 18:16:57 -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

Requires Rust stable version 1.31.0 or newer to build.

Compile and run:

cargo run --release

Just compile:

cargo build --release

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.