1
2
Fork 0
mirror of https://github.com/mat-1/azalea.git synced 2025-08-02 14:26:04 +00:00
Commit graph

294 commits

Author SHA1 Message Date
mat
50f6578794 packet handling
now it runs the schedule only when we get a tick or packet 😄

also i systemified some more functions and did other random fixes so az-world and az-physics compile

making azalea-client use the ecs is almost done! all the hard parts are done now i hope, i just have to finish writing all the code so it actually works
2023-01-02 18:59:29 -06:00
mat
24fc8dc188 packet handler uses the ecs now
and other fun changes

i still need to make ticking use the ecs but that's tricker, i'm considering using bevy_ecs systems for those

bevy_ecs systems can't be async but the only async things in ticking is just sending packets which can just be done as a tokio task so that's not a big deal
2022-12-25 17:12:14 -06:00
mat
8a93a2c158 some ecs stuff in az-client 2022-12-24 20:13:53 -06:00
mat
ba5b7b5cab random fixes 2022-12-24 17:43:33 -06:00
mat
52772afe85 rename Component to FormattedText
also start making the metadata use bevy_ecs but bevy_ecs doesn't let you query on Bundles so it's annoying
2022-12-13 19:08:49 -06:00
mat
2813d532e7 add EntityData::kind 2022-12-11 15:18:57 -06:00
16be171fb4 (cargo-release) version 0.5.0 2022-12-09 15:34:29 +00:00
6a5008b0f7 (cargo-release) version 0.5.0 2022-12-09 15:34:28 +00:00
4484411489 (cargo-release) version 0.5.0 2022-12-09 15:34:28 +00:00
0cce10d1a5 (cargo-release) version 0.5.0 2022-12-09 15:34:27 +00:00
a6a0839521 (cargo-release) version 0.5.0 2022-12-09 15:34:27 +00:00
75db835bfc (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
3baae656c0 (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
aa05eeac50 (cargo-release) version 0.5.0 2022-12-09 15:34:26 +00:00
6b3b691376 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
fd6da211b7 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
5d1b8e0339 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
88fd99ca52 (cargo-release) version 0.5.0 2022-12-09 15:34:25 +00:00
mat
70e2dfed16 wrap_comments = true 2022-12-08 18:39:35 -06:00
f2076daba5 fix a doc comment 2022-12-08 17:01:33 +00:00
mat
431f9e90a7
Reauth on invalid session (#50)
* Reauth on invalid session

* fix to actually use new token and retry auth

* fix unused vars
2022-12-07 21:58:42 -06: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
Honbra
962b9fcaae
Fix ServerboundContainerClickPacket (#45) 2022-11-27 16:24:31 -06:00
mat
5a8f50950a chore: Release 2022-11-19 15:25:55 -06:00
mat
befa22c1f3
Player List (#41)
* keep track of player list

* send player update events
2022-11-18 22:11:30 -06:00
Honbra
9f78b3f4a7
Military-grade server implementation (#40)
* Military-grade server implementation

* Add doc comments
2022-11-14 13:25:59 -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
16d0cb734c change some dependencies 2022-11-11 23:10:38 -06:00
3530faea4e Merge branch 'main' of https://github.com/mat-1/azalea into main 2022-11-12 02:04:15 +00:00
mat
9e09df1837 make some stuff in azalea-protocol public 2022-11-11 19:24:45 -06:00
mat
1df4f9f477 fix example in azalea_protocol::connect 2022-11-11 19:05:00 -06:00
4a1ec068fc improved docs 2022-11-11 21:04:18 +00:00
dc62ada865 fix clippy warnings 2022-11-10 17:50:41 +00:00
mat
1fc42d7566 semicolon lol 2022-11-09 19:14:07 -06:00
mat
f2d21ad813 shut down on broken pipe 2022-11-09 18:18:55 -06:00
c4843b347d make some fields public in light update packet 2022-11-08 20:45:17 +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
329f8b1784 more docs 2022-10-30 15:28:19 -05:00
mat
44ab1ad6ef chore: Release 2022-10-30 14:04:11 -05:00
mat
889f742696 add "repository" field to all crates 2022-10-30 14:03:13 -05:00
mat
99d3a5de9d improve docs a little more 2022-10-30 12:58:44 -05:00
mat
7d140e5f0c ClientboundContainerClosePacket 2022-10-29 14:33:53 -05:00
mat
7c71bdf79a add doc comments to combat packets 2022-10-29 14:14:47 -05:00
mat
9de6c03dfb use variables directly in format strings
thanks clippy we love you
2022-10-27 21:22:47 -05:00
mat
7ae8bfab50 fix removed packets still being defined 2022-10-27 20:58:11 -05:00
mat
489cdb01aa fix repeated ids in game/mod.rs 2022-10-24 21:25:36 -05:00
mat
3869fd622f write some more docs for az-protocol 2022-10-23 22:59:38 -05:00