Commit graph

46 commits

Author SHA1 Message Date
mat
37b9f10b3b make entities have a reference to WeakWorlds instead
... and other exciting bug fixes
2022-12-11 00:15:37 -06: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
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
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
mat
e99a822995 change to_ansi to not take args 2022-12-04 20:58:14 -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
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
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
9de6c03dfb use variables directly in format strings
thanks clippy we love you
2022-10-27 21:22:47 -05:00
mat
65da123631
Add Client::set_client_information (#33)
* start adding options

* add default options

* send options packet by default

* mention set_options in Client::join doc

* make TranslatableComponent::read return TextComponent

* change set_options to set_client_information

* clean up some code

* Add `Initialize` event

* fix some clippy warnings

* change `Client::options` to `client_information`
2022-10-23 19:00:24 -05:00
mat
9c67ce9a30 fix stack overflow in az-chat 2022-10-21 22:36:57 -05:00
mat
3fbbe5e93d have Display implemented for the Components 2022-10-21 22:30:19 -05:00
mat
6924502bc4 make TranslatableComponent::read return TextComponent 2022-10-21 22:16:37 -05: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
46fbc4654c (cargo-release) version 0.2.0 2022-10-17 16:28:51 +00:00
mat
98224cf913 fix clippy warnings 2022-10-15 16:53:34 -05:00
mat
a348f67b96 fix panic in azalea-chat 2022-10-10 01:04:09 -05:00
mat
bc3aa9467a
Replace impl Read with Cursor<&[u8]> (#26)
* Start getting rid of Cursor

* try to make the tests pass and fail

* make the tests pass

* remove unused uses

* fix clippy warnings

* fix potential OOM exploits

* fix OOM in az-nbt

* fix nbt benchmark

* fix a test

* start replacing it with Cursor<Vec<u8>>

* wip

* fix all the issues

* fix all tests

* fix nbt benchmark

* fix warnings
2022-10-07 20:12:36 -05:00
mat
0b3ec4ee3b fix panic in azalea-chat 2022-09-11 09:47:54 -05:00
mat
98000f800f why am i getting a varint error 2022-09-07 22:12:16 -05:00
mat
ec316e02cd fix ClientboundUpdateAdvancementsPacket 2022-09-07 21:30:05 -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
cfb190d00c
get rid of Readable & Writable (#21) 2022-09-02 12:11:14 -05:00
mat
0085f8a565 make some stuff publishable on crates.io 2022-08-30 21:42:40 -05:00
mat
dbb2092ac0
Implement ALL packets (#16)
* add a couple more packets and improve codegen

* enums in packet codegen

* fix enums and MORE PACKETS

* make unsigned numbers the default

* codegen can make hashmaps

* UnsizedByteArray in codegen

* Vec and Option

* enum codgen works in more situations

* ServerboundInteractPacket

* Fix error with new error system

* More packets

* more packets

* more packets

* guess what was added

* yeah it's more packets

* add more packets

* packets

* start adding ClientboundBossEventPacket

* finish boss event packet

* improve codegen for linux

* start on command suggestions packet

* rename declare_commands to commands

* más paquetes

* fix generating custom payload packet

* more packets

* mehr Pakete

* improve codegen for movement packets

* rename move packets to have "packet" at the end

* fix some unused variable warns

* addere plus facis

* pli da pakoj

* plus de paquets

* più pacchetti

* make ChatFormatting a macro in azalea-chat

* change a match to matches! macro

* update SetPlayerTeam to use ChatFormatting

* ClientboundSetScorePacket & fix clippy warnings

* finish game state 🎉

* add remaining packets for other states

* fix error in ping.rs
2022-08-20 15:17:07 -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
69f97dbf02 clippo the sequel 2022-07-31 18:05:41 -05:00
mat
e8deda5d2e clippo 2022-06-25 17:37:29 -05:00
mat
cd9a05e5a6 read_into -> read_from
yeah
2022-06-25 02:33:28 -05:00
mat
ba399c4440 switch things to use azalea-buf 2022-06-23 15:28:33 -05:00
mat
5ca49e680e azalea-buf 2022-06-23 15:12:17 -05:00
mat
7c742347a7 azalea-chat now checks language files 2022-05-08 18:38:22 -05:00
mat
248f752748 simplify error handling 2022-04-22 04:33:58 +00:00
mat
c5f10af09d write some readmes 2022-04-20 15:24:25 +00:00
mat
227ba5511d add a few more login packets 2021-12-16 17:51:05 -06:00
mat
9642558f8f azalea 2021-12-15 23:10:55 -06:00