aboutsummaryrefslogtreecommitdiff
path: root/azalea-chat/src
AgeCommit message (Collapse)Author
2025-08-10Send correct data component checksums (#234)mat
* start implementing data component crc32 hashes * start doing serde impls for checksums * make more components hashable * make all data components serializable * support recursive components * fix simdnbt dep * update changelog * clippy
2025-08-04Default components (#232)mat
* add default components * remove debug prints * clippy * use default components * fix tests
2025-07-24delete unused module from azalea-chatmat
2025-06-18fix: parse int lists in TranslatableComponent `with` field (#225)Yhgd
2025-06-16fix unused import warnings when compiling some crates individuallymat
2025-06-02add basic support for getting biome ids in chunksmat
2025-05-30fix clippy issues and improve formatting everywheremat
2025-05-17lowercase named colours (#222)activepass
2025-05-07support legacy hex colorsmat
2025-05-06fix incorrect chat parsing when legacy color codes are mixed inmat
2025-05-02Add AutoReconnectPlugin (#221)mat
* add AutoReconnectPlugin * merge main * start simplifying swarm internals * fix Swarm::into_iter, handler functions, DisconnectEvent, and add some more docs * add ClientBuilder/SwarmBuilder::reconnect_after * fix a doctest * reword SwarmEvent::Disconnect doc * better behavior when we try to join twice * reconnect on ConnectionFailedEvent too * autoreconnect is less breaking now
2025-05-01Implement a to_html method for FormattedText (#208)Kumpelinus
* Implement a to_html method for FormattedText Also fix a small issue with ansi formatting where it duplicated text. * cargo fmt * Make format conversion generic * cargo lint and fmt * Fix ascii conversion cleanup * Implement suggested changes * format, improve sanitization, add xss test --------- Co-authored-by: mat <git@matdoes.dev>
2025-04-04remove executable bit from filesmat
2025-02-22update to rust edition 2024mat
2025-01-14fix wrong ServerLinkKind and serialize hex colors correctly in nbtmat
2024-12-23fix 'extra' parsing in FormattedText::from_nbt_compound which results in ↵mat
duplicated chat fragments
2024-11-27Refactor azalea-protocol (#190)mat
* start updating to 1.21.4 * fix block codegen and stop using block data from burger * rename packet related modules and structs to be simpler * ItemSlot -> ItemStack for more consistency with mojmap * .get() -> .into_packet() * simplify declare_state_packets by removing packet ids * rename read_from and write_into to azalea_read and azalea_write * rename McBufReadable and McBufWritable to AzaleaRead and AzaleaWrite * McBuf -> AzBuf * remove most uses of into_variant * update codegen and use resourcelocation names for packets * implement #[limit(i)] attribute for AzBuf derive macro * fixes for 1.21.4 * fix examples * update some physics code and fix ChatType * remove unused imports in codegen * re-add some things to migrate.py and update +mc version numbers automatically * downgrade to 1.21.3 lol
2024-11-27replace once_cell with std:;sync::LazyLockmat
2024-10-26group imports with rustfmtmat
2024-08-15fix incorrect comment in with_microsoft_access_token docsmat
2024-08-06cursor_remaining was stabilizedmat
2024-07-05upgrade to simdnbt 0.6 (#160)mat
2024-05-22fix another edge case in FormattedText::from_nbt_tag that happens with ↵mat
viaversion
2024-05-22read Tool blocks as HolderSetmat
fixes an error with viaversion servers
2024-05-14Update simdnbt dep (#148)veronoicc
* Update simdnbt dep * Fix not compiling (rust analyzer is still yapping, i trust you cargo check) * Update simdnbt to 0.5.2 * finally everything works :prayge:
2024-05-14update simdnbtmat
2024-04-20fix edge case with reading FormattedText as nbtmat
2024-02-25optimize physicsmat
2024-02-24fix parsing textcomponents failing when it's translatable and has a ↵mat
primitive as an argument
2023-12-28fix FormattedText when 'extra' isn't a list of compoundsmat
2023-12-28read nbt as optional in more placesmat
2023-12-16fix non-u8 gamemodesmat
love you wynncraft
2023-12-09fix broken doc linksmat
2023-12-06disable feaatures on azalea-chat by default and fix disabling simdnbt featuremat
2023-12-05clippymat
2023-12-051.20.3 (#110)mat
* 23w40a * 23w41a * 23w42a * 23w43a * 23w44a * serialize FormattedText as nbt in network * use azalea-nbt/serde in azalea-chat * 23w45a * fix 23w45a to compile * handle Object in codegen * 1.20.3-pre2 * remove unused clientbound_resource_pack_packet.rs * merge main and make azalea-chat use simdnbt * 1.20.3-rc1 * fix tests * use simdnbt 0.3 * fix ServerboundSetJigsawBlockPacket * 1.20.3
2023-11-18replace log with tracingmat
2023-10-12brigadier usagesmat
2023-08-20don't panic if TranslatableComponent::to_string failsmat
2023-07-26fix querying multiple components in entity_bymat
2023-07-09Update to Bevy 0.11 (#94)mat
* update to bevy 0.11 * clippy --------- Co-authored-by: mat <git@matdoes.dev>
2023-05-28fix panic in azalea-chatmat
2023-04-22fix panic in azalea-chat i hopemat
2023-02-04Use an ECS (#52)mat
* add EntityData::kind * start making metadata use hecs * make entity codegen generate ecs stuff * fix registry codegen * get rid of worldhaver it's not even used * add bevy_ecs to deps * 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 * generate metadata.rs correctly for bevy_ecs * start switching more entity stuff to use ecs * more ecs stuff for entity storage * ok well it compiles but it definitely doesn't work * random fixes * change a bunch of entity things to use the components * some ecs stuff in az-client * 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 * start converting some functions in az-client into systems committing because i'm about to try something that might go horribly wrong * start splitting client i'm probably gonna change it so azalea entity ids are separate from minecraft entity ids next (so stuff like player ids can be consistent and we don't have to wait for the login packet) * separate minecraft entity ids from azalea entity ids + more ecs stuff i guess i'm using bevy_app now too huh it's necessary for plugins and it lets us control the tick rate anyways so it's fine i think i'm still not 100% sure how packet handling that interacts with the world will work, but i think if i can sneak the ecs world into there it'll be fine. Can't put packet handling in the schedule because that'd make it tick-bound, which it's not (technically it'd still work but it'd be wrong and anticheats might realize). * packet handling now it runs the schedule only when we get a tick or packet :smile: 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 * start figuring out how functions in Client will work generally just lifetimes being annoying but i think i can get it all to work * make writing packets work synchronously* * huh az-client compiles * start fixing stuff * start fixing some packets * make packet handler work i still haven't actually tested any of this yet lol but in theory it should all work i'll probably either actually test az-client and fix all the remaining issues or update the azalea crate next ok also one thing that i'm not particularly happy with is how the packet handlers are doing ugly queries like ```rs let local_player = ecs .query::<&LocalPlayer>() .get_mut(ecs, player_entity) .unwrap(); ``` i think the right way to solve it would be by putting every packet handler in its own system but i haven't come up with a way to make that not be really annoying yet * fix warnings * ok what if i just have a bunch of queries and a single packet handler system * simple example for azalea-client * :bug: * maybe fix deadlock idk can't test it rn lmao * make physicsstate its own component * use the default plugins * azalea compiles lol * use systemstate for packet handler * fix entities basically moved some stuff from being in the world to just being components * physics (ticking) works * try to add a .entity_by function still doesn't work because i want to make the predicate magic * try to make entity_by work well it does work but i couldn't figure out how to make it look not terrible. Will hopefully change in the future * everything compiles * start converting swarm to use builder * continue switching swarm to builder and fix stuff * make swarm use builder still have to fix some stuff and make client use builder * fix death event * client builder * fix some warnings * document plugins a bit * start trying to fix tests * azalea-ecs * azalea-ecs stuff compiles * az-physics tests pass :tada: * fix all the tests * clippy on azalea-ecs-macros * remove now-unnecessary trait_upcasting feature * fix some clippy::pedantic warnings lol * why did cargo fmt not remove the trailing spaces * FIX ALL THE THINGS * when i said 'all' i meant non-swarm bugs * start adding task pool * fix entity deduplication * fix pathfinder not stopping * fix some more random bugs * fix panic that sometimes happens in swarms * make pathfinder run in task * fix some tests * fix doctests and clippy * deadlock * fix systems running in wrong order * fix non-swarm bots
2023-01-30have docs for all cratesUbuntu
2023-01-20Allow using azalea-chat without azalea-buf to avoid unstable features (#58)Nemo157
2022-12-11make entities have a reference to WeakWorlds insteadmat
... and other exciting bug fixes
2022-12-08wrap_comments = truemat
2022-12-071.19.3 (#34)mat
* 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 ee9a0e7a49936dd8569c610ba9b6455895eeff71. * fix * fix * Revert "fix" This reverts commit ad12ddcb009ccc4eeb13ddef0871db1d9322ab7d. * 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-04change to_ansi to not take argsmat