Go to file
iceiix 11f2d2ae13 1.13.2 (404) multiprotocol support (#67)
Adds support for 1.13.2 protocol (404)
Expands https://github.com/iceiix/steven/issues/18 Enhance protocol support

Metadata:

* Support 1.13.2 slot data format, bool and varint item id, optional damage (moved to NBT)

https://wiki.vg/index.php?title=Slot_Data&type=revision&diff=14363&oldid=7835

Packets:

* Add 1.13.2 packets, and implement all the command data parsers

https://wiki.vg/Command_Data#Parsers

* Send new plugin channel minecraft:brand

https://wiki.vg/Plugin_channels#minecraft:brand

* Add 1.13.2 metadata format, with shifted IDs

https://wiki.vg/Entity_metadata#Entity_Metadata_Format

* Implement particle entity metadata

* Add structures for 16 new packets

Blocks: The Flattening:

* Assign flattened IDs in correct order using new 'offset' macro token

* Assign hierarchical (pre-flattening) block IDs sequentially by counting Some data

* Split VANILLA_ID_MAP into flat/hier struct, to support before and after the flattening

* Extend travis build time to 20 minutes because the blocks macro takes a long time

* Support both flat/hier blocks by passing protocol_version to by_vanilla_id

Add block states and offsets for all blocks, replacing metadata for 1.13+:

* Add stripped logs and what was Log2 to Log
* Add the Wood blocks, should be called bark, previously Axis::None Log
* Add leaves distance and offset
* Add jungle/acacia to Leaves moved from Leaves2
* Add dispenser offsets, direction
* Add note block states
* Add offset None to Missing253 and Missing254, no holes in block states of 1.13.2
* Add bed colors
* Add seagrass, tall seagrass, remove redundant deadgrass, and piston offset
* Add torch, TNT, fire offsets, remove slabs
* Add furnance offset, merges lit into a property
* Add pressure plate offsets, new pressure plates, redstone ore/lit merged
* Add lever offsets, new directions from ceiling/floor, rename LeverDirections
* Add redstone torch offsets, new blocks since lit/unlit is now merged, and standing/wall is split
* Change lever to split face/facing, rm LeverDirection, add AttachedFace
* Add stone button offsets, face/facing similar to lever
* Move face/facing data and variant to AttachedFace, reuse for lever/stonebutton
* Add data_with_facing_and_powered() to AttachedFace, for lever/stonebutton
* Add wooden button offsets each wood
* Add pumpkin without a face
* Add carved pumpkin, portal offsets
* Add lit pumpkin (as jack-o-lantern) offsets after carved pumpkin
* Add repeater offsets, merged into Repeater
* Change brown mushroom block to booleans instead of MushroomVariant
* Add mushroom block offsets, red/brown mushroom blocks, and a new mushroom stem block
* Add command block, cobblestone walls, and flower pot offsets
Empty flower pot, and potted plants including saplings. Rename
variant DarkOak to DarkOakSaplings because it is a sapling, and
remove the duplicate Dandelion variant which causes duplicate blocks.
* Increase recursion limit in steven_blocks
* Add colored banner offsets
* Add wooden slab including double slab, in a different position for pre-1.13 and 1.13
* StoneSlabVariant::Wood -> StoneSlabVariant::PetrifiedWood
* Add fence_gate_offset() for wooden fence gates
* Add frosted ice age, offset
* Add new blocks: kelp, turtle egg, coral, coral fans, sea pickle, blue ice, smooth stone
* Add new blocks: conduit, void air, cave aid, bubble column, last of the 1.13 blocks
2018-12-28 21:22:58 -08:00
blocks 1.13.2 (404) multiprotocol support (#67) 2018-12-28 21:22:58 -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 1.13.2 (404) multiprotocol support (#67) 2018-12-28 21:22:58 -08:00
src 1.13.2 (404) multiprotocol support (#67) 2018-12-28 21:22:58 -08:00
.gitignore Update to Minecraft 1.11 (Fixes #63) 2016-12-09 14:32:02 +00:00
.travis.yml 1.13.2 (404) multiprotocol support (#67) 2018-12-28 21:22:58 -08:00
Cargo.lock Bump serde from 1.0.82 to 1.0.83 (#70) 2018-12-28 17:17:23 -08:00
Cargo.toml Bump serde from 1.0.82 to 1.0.83 (#70) 2018-12-28 17:17:23 -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.