Commit graph

201 commits

Author SHA1 Message Date
EightFactorial
9ee5e71bb1
Server functions and proxy example (#59)
* A couple useful things for servers

* Add proxy example

* Use Uuid's serde feature

* Add const options to proxy example

* Example crates go in dev-dependencies

* Warn instead of error

* Log address on login

* Requested changes

* add a test for deserializing game profile + random small changes

Co-authored-by: mat <github@matdoes.dev>
2023-01-21 22:14:23 -06:00
Ubuntu
c6b5664972 update a thing in cargo.toml 2023-01-18 17:52:40 +00:00
dependabot[bot]
b86a89fa1e
Bump tokio from 1.22.0 to 1.23.1 (#55)
Bumps [tokio](https://github.com/tokio-rs/tokio) from 1.22.0 to 1.23.1.
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](https://github.com/tokio-rs/tokio/compare/tokio-1.22.0...tokio-1.23.1)

---
updated-dependencies:
- dependency-name: tokio
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-01-10 22:01:50 -06:00
Ubuntu
2d6737b247 (cargo-release) version 0.5.0 2022-12-09 15:34:29 +00:00
Ubuntu
b6d0b3744d (cargo-release) version 0.5.0 2022-12-09 15:34:29 +00:00
Ubuntu
16be171fb4 (cargo-release) version 0.5.0 2022-12-09 15:34:29 +00:00
Ubuntu
6a5008b0f7 (cargo-release) version 0.5.0 2022-12-09 15:34:28 +00:00
Ubuntu
4484411489 (cargo-release) version 0.5.0 2022-12-09 15:34:28 +00:00
Ubuntu
b0de28d9bd (cargo-release) version 0.5.0 2022-12-09 15:34:28 +00:00
Ubuntu
a6a0839521 (cargo-release) version 0.5.0 2022-12-09 15:34:27 +00:00
Ubuntu
ebffd5d77e (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
Ubuntu
3baae656c0 (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
Ubuntu
aa05eeac50 (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
Ubuntu
6b3b691376 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
Ubuntu
fd6da211b7 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
Ubuntu
9ef09d75de (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
Ubuntu
5d1b8e0339 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
Ubuntu
88fd99ca52 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
Ubuntu
caf684a9ff (cargo-release) version 0.5.0 2022-12-09 15:34:24 +00:00
Ubuntu
2c77ea282f (cargo-release) version 0.5.0 2022-12-09 15:34:24 +00:00
mat
7d901e39bc
1.19.3 (#34)
* start updating to 22w42a

* work a bit more on 22w42a

* player chat packet

* serverbound hello packet

* Update mod.rs

* add more stuff to clientbound player chat packet

* ClientboundPlayerInfoUpdatePacket

* features enabled and container closed

* serverbound chat packets

* make it compile

* 22w43a

* ServerboundChatSessionUpdatePacket

* profile_public_key isn't Option anymore

* Update bitset.rs

* joining a server works

* fix entitydatavalue

* backtraces + fix clientbound chat message

* fix some warnings and add more ecomments

* 22w44a

* generate en_us.json

* add updating guide to codegen/readme

* fix some markdown

* update list of generated things

* metadata stuff

* Replace PJS generator mod with PixLyzer (#38)

* pixlizer extractor

* start working on shape extraction

* fix generating language

* fix pixlyzer shape generation

* use empty_shape

* generate blocks and shapes

* update pixlyzer dir

* Revert "update pixlyzer dir"

This reverts commit ee9a0e7a49.

* fix

* fix

* Revert "fix"

This reverts commit ad12ddcb00.

* fix

* detect pixlyzer fail

* fix pixlyzer

* 22w45a

* gen entities

* add async-trait dep

* update codegen/readme.md

* explain when rust_log should be used

* remove some unused code

* start fixing pixlyzer issues

* fix a thing in codegen

* almost fixed

* more progress towards 1.19.3

* 1.19.3-pre2

* fixes

* revert some hardcoded property names

* Delete clientbound_player_info_packet.rs

* handle 1.19.3 player info packets

* handle playerinforemove

* start updating to 1.19.3-rc1

* optional registries work

* fix some issues with 1.19.3

chat doesn't work yet

* aaaaaaaaaaaaaaaaa

* oh

* ignore unused shapes

* uncomment generate_blocks

* fix migrate

* 1.19.3-rc2

* fix clippy warnings

* 1.19.3-rc3

* split the azalea-buf macro into separate modules

* improve Recipe in protocol

* 1.19.3
2022-12-07 21:09:58 -06:00
EightFactorial
9f5e5c092b
Complete ClientboundCommand{Suggestion}sPacket, Serde support for NBT Tags (#49)
* Serializing ClientboundStatusResponsePacket

Enable serialization of ClientboundStatusResponsePacket

* Update clientbound_status_response_packet.rs

Add options previewsChat and enforcesSecureChat

* Serialize Style and TextColor

* Serialize BaseComponent

* Serialize TextComponent

* Fix Style

* Serialize Component

* Fix multiple formats per message, fix reset tag

* Fix Style, again

* Use FlatMapSerializer

* Forgot italics

* Count struct fields, reorganize logic

* Serialize TranslatableComponent

* Rewrite TextComponent Serializer

* Fix using TextColor::Parse

* Code Cleanup

* Add default attribute, just in case

* Clippy

* use serde derive feature + preferred formatting choices

* McBufWritable for BrigadierNodeStub

* Thanks Clippy...

* Implement suggestions in azalea-brigadier

* Serde support for NBT Tags

* Serde options

* Forgot Options

* Oops, that's McBufWritable for BrigadierParser

* Fix McBufWritable for SlotData

* Complete ClientboundUpdateRecipesPacket

* fix some issues

* better impl McBufReadable for Suggestions

Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
Co-authored-by: mat <github@matdoes.dev>
2022-12-06 20:48:48 -06:00
EightFactorial
3b93fc6412
Serialize Component (#47)
* Serializing ClientboundStatusResponsePacket

Enable serialization of ClientboundStatusResponsePacket

* Update clientbound_status_response_packet.rs

Add options previewsChat and enforcesSecureChat

* Serialize Style and TextColor

* Serialize BaseComponent

* Serialize TextComponent

* Fix Style

* Serialize Component

* Fix multiple formats per message, fix reset tag

* Fix Style, again

* Use FlatMapSerializer

* Forgot italics

* Count struct fields, reorganize logic

* Serialize TranslatableComponent

* Rewrite TextComponent Serializer

* Fix using TextColor::Parse

* Code Cleanup

* Add default attribute, just in case

* Clippy

* use serde derive feature + preferred formatting choices

Co-authored-by: BuildTools <unconfigured@null.spigotmc.org>
Co-authored-by: mat <github@matdoes.dev>
2022-12-03 19:08:05 -06:00
mat
631ed63dbd
Swarm (#36)
* make azalea-pathfinder dir

* start writing d* lite impl

* more work on d* lite

* work more on implementing d* lite

* full d* lite impl

* updated edges

* add next() function

* add NoPathError

* why does dstar lite not work

* fix d* lite implementation

* make the test actually check the coords

* replace while loop with if statement

* fix clippy complaints

* make W only have to be PartialOrd

* fix PartialOrd issues

* implement mtd* lite

* add a test to mtd* lite

* remove normal d* lite

* make heuristic only take in one arg

* add `success` function

* Update README.md

* evil black magic to make .entity not need dimension

* start adding moves

* slightly improve the vec3/position situation

new macro that implements all the useful functions

* moves stuff

* make it compile

* update deps in az-pathfinder

* make it compile again

* more pathfinding stuff

* add Bot::look_at

* replace EntityMut and EntityRef with just Entity

* block pos pathfinding stuff

* rename movedirection to walkdirection

* execute path every tick

* advance path

* change az-pf version

* make azalea_client keep plugin state

* fix Plugins::get

* why does it think there is air

* start debugging incorrect air

* update some From methods to use rem_euclid

* start adding swarm

* fix deadlock

i still don't understand why it was happening but the solution was to keep the Client::player lock for shorter so it didn't overlap with the Client::dimension lock

* make lookat actually work probably

* fix going too fast

* Update main.rs

* make a thing immutable

* direction_looking_at

* fix rotations

* import swarm in an example

* fix stuff from merge

* remove azalea_pathfinder import

* delete azalea-pathfinder crate

already in azalea::pathfinder module

* swarms

* start working on shared dimensions

* Shared worlds work

* start adding Swarm::add_account

* add_account works

* change "client" to "bot" in some places

* Fix issues from merge

* Update world.rs

* add SwarmEvent::Disconnect(Account)

* almost add SwarmEvent::Chat and new plugin system

it panics rn

* make plugins have to provide the State associated type

* improve comments

* make fn build slightly cleaner

* fix SwarmEvent::Chat

* change a println in bot/main.rs

* Client::shutdown -> disconnect

* polish

fix clippy warnings + improve some docs a bit

* fix shared worlds*

*there's a bug that entities and bots will have their positions exaggerated because the relative movement packet is applied for every entity once per bot

* i am being trolled by rust

for some reason some stuff is really slow for literally no reason and it makes no sense i am going insane

* make world an RwLock again

* remove debug messages

* fix skipping event ticks

unfortunately now sending events is `.send().await?` instead of just `.send()`

* fix deadlock + warnings

* turns out my floor_mod impl was wrong

and i32::rem_euclid has the correct behavior LOL

* still errors with lots of bots

* make swarm iter & fix new chunks not loading

* improve docs

* start fixing tests

* fix all the tests

except the examples i don't know how to exclude them from the tests

* improve docs some more
2022-11-27 16:25:07 -06:00
mat
5a8f50950a chore: Release 2022-11-19 15:25:55 -06:00
mat
619984fa33
Replace lazy_static with once_cell::sync::Lazy (#43)
* Remove lazy_static in azalea-chat

* replace lazy_static with once_cell everywhere

* fix

* fix import

* ignore a clippy warning in shape codegen
2022-11-19 15:21:54 -06:00
mat
6c6eb5572b clippy + replace some printlns with debug 2022-11-18 22:10:34 -06:00
mat
7ad4b22726
Add functions to get ChatPacket author and content (#42)
* Add functions to get ChatPacket author and content

* add ChatPacket::username and ChatPacket::content
2022-11-18 21:52:09 -06:00
mat
6eee543a33
Pathfinder (#25)
Pathfinding is very much not done, but it works enough and I want to get this merged.
TODO: fast replanning, goals that aren't a single node, falling moves (it should be able to play the dropper), parkour moves
2022-11-12 23:54:05 -06:00
mat
fa57d03627 Update Cargo.lock 2022-11-12 12:15:24 -06:00
mat
16d0cb734c change some dependencies 2022-11-11 23:10:38 -06:00
Ubuntu
ad8b1b7b24 ignore bad utf8 2022-11-09 18:59:03 +00:00
mat
d112856ff6
Entity metadata (#37)
* add example generated metadata.rs

* metadata.rs codegen

* add the files

* add comment to top of metadata.rs

* avoid clone

* metadata

* defaults

* defaults

* fix metadata readers and writers

* fix bad bitmasks and ignore some clippy warnings in generated code

* add set_index function to entity metadatas

* applying metadata
2022-11-06 14:05:01 -06:00
mat
44ab1ad6ef chore: Release 2022-10-30 14:04:11 -05:00
Ubuntu
c0338cac35 Create cache file directory if it doesn't exist 2022-10-18 19:31:27 +00:00
Ubuntu
051f52474d bump az-client version 2022-10-18 17:08:32 +00:00
Ubuntu
43799946da make Account clonable 2022-10-18 17:01:28 +00:00
Ubuntu
e0dc937d88 change azalea version 2022-10-17 18:52:22 +00:00
Ubuntu
22f677769d update az-auth description 2022-10-17 17:59:11 +00:00
Ubuntu
45a48f264f (cargo-release) version 0.2.0 2022-10-17 16:28:54 +00:00
Ubuntu
ba5eb64520 (cargo-release) version 0.2.0 2022-10-17 16:28:54 +00:00
Ubuntu
61b586b4d5 (cargo-release) version 0.2.0 2022-10-17 16:28:54 +00:00
Ubuntu
b68bcb44d2 (cargo-release) version 0.2.0 2022-10-17 16:28:54 +00:00
Ubuntu
9c6347473b (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
69d30378e5 (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
f66f55955d (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
9a7d2d51b5 (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
7c71efab4a (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
b6c6ea34c1 (cargo-release) version 0.2.0 2022-10-17 16:28:53 +00:00
Ubuntu
4e8bdfe7aa (cargo-release) version 0.2.0 2022-10-17 16:28:52 +00:00
Ubuntu
924a4771d9 (cargo-release) version 0.2.0 2022-10-17 16:28:52 +00:00
Ubuntu
e4a85363b0 (cargo-release) version 0.2.0 2022-10-17 16:28:52 +00:00
Ubuntu
d188a7470d (cargo-release) version 0.2.0 2022-10-17 16:28:52 +00:00
Ubuntu
e6f023a38b (cargo-release) version 0.2.0 2022-10-17 16:28:52 +00:00
Ubuntu
bdeafa2c29 (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
Ubuntu
4585504323 (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
Ubuntu
430501f6e1 (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
Ubuntu
46fbc4654c (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
Ubuntu
560805bc2c (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
mat
4cef62e8e4
Microsoft Authentication (#29)
* a

* try to do more work on auth signing (untested)

* well auth works when i remove the d= so

* auth stuff

* sessionserver stuff

* add auth in azalea-protocol/client

* caching*

refreshing microsoft auth tokens isn't implemented yet, also i haven't tested it

* how did i not notice that i had the code duplicated

* fix cache

* add refreshing msa token

* replace some printlns with log::trace

* auth works!

* Update main.rs

* fix clippy warnings
2022-10-16 22:54:54 -05:00
mat
6f6289376a fix errors with rewritten packet reading
i forgot i never tested it before LMAO
2022-10-07 23:56:23 -05:00
mat
ba4cfaafae
Bot API (#27)
Basically make the `azalea` crate have stuff
2022-10-07 19:57:42 -05:00
mat
e0bcab53b8 start adding stuff to azalea crate 2022-10-02 15:02:27 -05:00
mat
06068377bd
New example (#24)
the example isn't finished but it's finished enough
2022-10-02 14:58:42 -05:00
mat
c9b4dccd7e
All block shapes & collisions (#22)
* start adding shapes

* add more collision stuff

* DiscreteCubeMerger

* more mergers

* start adding BitSetDiscreteVoxelShape::join

* i love rust 😃 😃 😃

* r

* IT COMPILES????

* fix warning

* fix error

* fix more clippy issues

* add box_shape

* more shape stuff

* make DiscreteVoxelShape an enum

* Update shape.rs

* also make VoxelShape an enum

* implement BitSet::clear

* add more missing things

* it compiles

W

* start block shape codegen

* optimize shape codegen

* make az-block/blocks.rs look better (broken)

* almost new block macro

* make the codegen not generate 'type'

* try to fix

* work more on the blocks macro

* wait it compiles

* fix clippy issues

* shapes codegen works

* well it's almost working

* simplify some shape codegen

* enum type names are correct

* W it compiles

* cargo check no longer warns

* fix some clippy issues

* start making it so the shape impl is on BlockStates

* insane code

* new impl compiles

* fix wrong find_bits + TESTS PASS!

* add a test for slab collision

* fix clippy issues

* ok rust

* fix error that happens when on stairs

* add test for top slabs

* start adding join_is_not_empty

* add more to join_is_not_empty

* top slabs still don't work!!

* x..=0 doesn't work in rust 😃 😃 😃 😃 😃 😃 😃 😃 😃 😃 😃 😃 😃 😃

* remove comment since i added more useful names

* remove some printlns

* fix walls in some configurations erroring

* fix some warnings

* change comment to \`\`\`ignore instead of \`\`\`no_run

* players are .6 wide not .8

* fix clippy's complaints

* i missed one clippy warning
2022-10-02 12:29:47 -05:00
mat
e63f605c82 add shutdown function 2022-09-19 23:05:05 -05:00
Ubuntu
14a6f9d9f8 replace printlns with log 2022-09-19 19:53:16 +00:00
mat
c31a1f9434 fix outdated EntityDataValue 2022-09-10 19:46:01 -05:00
Ubuntu
c033587503 add logger 2022-09-09 19:27:59 +00:00
mat
fcb5bdf042 use az-registry in az-protocol 2022-09-05 11:44:48 -05:00
mat
4301a2f2d4 Publish empty azalea crate 2022-09-05 10:38:40 -05:00
mat
e9f88ce546 Publish everything* to crates.io
Except azalea-client since it's not ready yet
2022-09-05 10:36:48 -05:00
mat
9ca9519469 .walk :) 2022-09-05 01:04:16 -05:00
mat
99fcad7bc4 fix chunks not being able to be read 2022-09-04 21:24:10 -05:00
Ubuntu
e0cbf68df1 test gravity 2022-08-31 20:11:34 +00:00
mat
0085f8a565 make some stuff publishable on crates.io 2022-08-30 21:42:40 -05:00
mat
d88d46ca2d change it all to azalea-buf-macros 2022-08-29 21:14:42 -05:00
mat
f42d630544
Physics (#11)
* Put physics module in azalea-entity

* port aabb

* add more stuff to PositionXYZ

* azalea-physics

* important collision things

* more physics stuff

* backup because i'm about to delete shapes

* more shape stuff

* CubeVoxelShape

* no compile errors???

insane

* impl VoxelShape for ArrayVoxelShape

* Shapes stuff

* collide_x but it doesn't work yet

* binary_search

* it compiles

* Entity has bounding box

* Update discrete_voxel_shape.rs

* Entity::make_bounding_box

* ok i'm about to merge az-entity and az-world

might be a terrible idea which is why i'm committing first

* ok so i moved entity to world

* on_pos and move_entity compiles

* add send_position

* move collision stuff to collision module in az-physics

* dimension is no longer an Option

* start trying to do collision for the client

* collision works 🎉

* start adding palette resizing

* get_and_set (pain)

* it compiles but probably won't work

* add a test

* remove printlns

* add more tests for palette stuff

* ClientboundMoveVec3Packet -> ClientboundMoveEntityPosPacket

i think i changed this on accident once

* palette resizing works

todo: remove the printlns

* Remove printlns in palette.rs

* fix issues from merge

* fixes + work a bit more on physics

* Better entities (#19)

* well it compiles

* add tests to entity storage

* add suggestions in azalea-brigadier

* this probably causes ub

* fix brigadiersuggestions

* get rid of entityid

* test From<EntityMut> for EntityRef

* don't mention other libraries since there's too many

* fix warnings

* do todos in brigadier suggestions

* work on physics

* more physics stuff

* remove trait feature on az-block

i think rust gets confused and compiles the macro without the feature

* bump ahash

* aes tests in az-crypto

* optimize aes's deps

* fix crashes

* fix section_index for negative numbers and test

* fix BlockPos protocol implementation

* remove some debug prints

* prepare to add ai_step

* make ai step work

* clippy
2022-08-29 20:41:01 -05:00
mat
b44f1c84de encryption benchmark & test 2022-08-28 15:08:43 -05:00
mat
b8228a0360
Azalea registry (#20)
* make azalea-registry crate

* add trait feature to az-block

* registr

* registry macro

* impl Display for registry things

* registries
2022-08-27 20:31:21 -05:00
mat
ac4d675d44
NBT decoder optimizations (#17)
* replace HashMap with AHashMap

* faster read_string by just doing read_exact

* re-enable all the benchmarks
2022-08-19 14:14:08 -05:00
mat
5a9fca0ca9
Better errors (#14)
* make reading use thiserror

* finish implementing all the error things

* clippy warnings related to ok_or

* fix some errors in other places

* thiserror in more places

* don't use closures in a couple places

* errors in writing packet

* rip backtraces

* change some BufReadError::Custom to UnexpectedEnumVariant

* Errors say what packet is bad

* error on leftover data and fix

it wasn't reading the properties for gameprofile
2022-08-06 02:22:19 -05:00
mat
ec0b6ec06c 1.19.1-pre4 2022-07-10 23:43:09 -05:00
mat
460bdfb8bb merge ClientState and Client 2022-06-25 16:23:40 -05:00
mat
c9faf25fab Fix errors 2022-06-25 00:13:00 -05:00
mat
ca7067e173
Merge branch 'main' into azalea-entity 2022-06-25 05:08:22 +00:00
mat
b030b0ea33 start adding moving 2022-06-24 23:10:59 -05:00
mat
69c47eda4c Upgrade some crates 2022-06-24 04:08:38 -05:00
mat
3fcbfc794e Upgrade crates and remove num_* deps 2022-06-24 03:50:19 -05:00
mat
37c6618c16 Fix everything so azalea-buf works 2022-06-23 19:17:04 -05:00
mat
5ca49e680e azalea-buf 2022-06-23 15:12:17 -05:00
mat
efd8749573 add gametick event and find_one_entity 2022-06-20 01:19:59 -05:00
mat
c9a070f711 Fix some clippy warnings 2022-06-19 22:01:54 -05:00
mat
bb6b116cb8 Improvements to azalea-world for entities 2022-06-19 00:30:24 -05:00
mat
d8e0457b62 from<ClientboundAddEntityPacket> for Entity 2022-06-18 14:08:34 -05:00
mat
614b211298 EntityStorage 2022-06-17 23:55:11 -05:00
mat
f993e79a7e Create azalea-entity 2022-06-17 20:46:16 -05:00
mat
74c3ae52f8 azalea-world uses azalea-block 2022-06-16 23:38:51 -05:00
mat
e36095c2b1 Fix all the errors 2022-06-11 17:18:57 -05:00
mat
d106221caa Merge branch 'main' into azalea-block 2022-06-09 19:37:29 -05:00