diff options
| author | mat <git@matdoes.dev> | 2023-08-25 23:28:19 -0500 |
|---|---|---|
| committer | mat <git@matdoes.dev> | 2023-08-25 23:28:19 -0500 |
| commit | 472496b7b808b4c6ac6f8e161a5bc1d08f5b0524 (patch) | |
| tree | b839d9c63829c3e215940f05cdcf0b17cd226300 | |
| parent | 2773146fbfd9b61c0ea09210b6d7b9760be5e7dc (diff) | |
| download | azalea-drasl-472496b7b808b4c6ac6f8e161a5bc1d08f5b0524.tar.xz | |
fix all bevy ambiguities
| -rw-r--r-- | azalea-client/src/attack.rs | 15 | ||||
| -rw-r--r-- | azalea-client/src/client.rs | 14 | ||||
| -rw-r--r-- | azalea-client/src/events.rs | 2 | ||||
| -rw-r--r-- | azalea-client/src/interact.rs | 10 | ||||
| -rw-r--r-- | azalea-client/src/inventory.rs | 8 | ||||
| -rw-r--r-- | azalea-client/src/mining.rs | 19 | ||||
| -rw-r--r-- | azalea-client/src/movement.rs | 10 | ||||
| -rw-r--r-- | azalea-client/src/packet_handling.rs | 3 | ||||
| -rw-r--r-- | azalea-entity/src/plugin/indexing.rs | 1 | ||||
| -rw-r--r-- | azalea-entity/src/plugin/mod.rs | 4 | ||||
| -rw-r--r-- | azalea-physics/src/collision/mod.rs | 19 | ||||
| -rw-r--r-- | azalea-physics/src/lib.rs | 14 | ||||
| -rw-r--r-- | azalea/src/auto_respawn.rs | 9 | ||||
| -rw-r--r-- | azalea/src/bot.rs | 11 | ||||
| -rw-r--r-- | azalea/src/pathfinder/mod.rs | 13 | ||||
| -rw-r--r-- | tick.svg | 210 | ||||
| -rw-r--r-- | update.svg | 1137 |
17 files changed, 1448 insertions, 51 deletions
diff --git a/azalea-client/src/attack.rs b/azalea-client/src/attack.rs index 34083ffc..45a4ccaf 100644 --- a/azalea-client/src/attack.rs +++ b/azalea-client/src/attack.rs @@ -1,8 +1,9 @@ use azalea_core::GameMode; use azalea_entity::{ metadata::{ShiftKeyDown, Sprinting}, - Attributes, Physics, + update_bounding_box, Attributes, Physics, }; +use azalea_physics::PhysicsSet; use azalea_protocol::packets::game::serverbound_interact_packet::{ self, ServerboundInteractPacket, }; @@ -14,6 +15,8 @@ use derive_more::{Deref, DerefMut}; use crate::{ interact::SwingArmEvent, local_player::{LocalGameMode, SendPacketEvent}, + movement::walk_listener, + respawn::perform_respawn, Client, }; @@ -21,12 +24,18 @@ pub struct AttackPlugin; impl Plugin for AttackPlugin { fn build(&self, app: &mut App) { app.add_event::<AttackEvent>() - .add_systems(Update, handle_attack_event) + .add_systems( + Update, + handle_attack_event + .before(update_bounding_box) + .before(walk_listener) + .after(perform_respawn), + ) .add_systems( FixedUpdate, ( increment_ticks_since_last_attack, - update_attack_strength_scale, + update_attack_strength_scale.after(PhysicsSet), ) .chain(), ); diff --git a/azalea-client/src/client.rs b/azalea-client/src/client.rs index b44e8b4e..517db4e9 100644 --- a/azalea-client/src/client.rs +++ b/azalea-client/src/client.rs @@ -25,7 +25,7 @@ use azalea_entity::{ indexing::EntityIdIndex, metadata::Health, EntityPlugin, EntityUpdateSet, EyeHeight, Local, Position, }; -use azalea_physics::{PhysicsPlugin, PhysicsSet}; +use azalea_physics::PhysicsPlugin; use azalea_protocol::{ connect::{Connection, ConnectionError}, packets::{ @@ -48,7 +48,7 @@ use azalea_protocol::{ resolver, ServerAddress, }; use azalea_world::{Instance, InstanceContainer, InstanceName, PartialInstance}; -use bevy_app::{App, FixedUpdate, Main, Plugin, PluginGroup, PluginGroupBuilder, Update}; +use bevy_app::{App, FixedUpdate, Plugin, PluginGroup, PluginGroupBuilder, Update}; use bevy_ecs::{ bundle::Bundle, component::Component, @@ -617,7 +617,7 @@ impl Plugin for AzaleaPlugin { .add_systems( Update, ( - update_in_loaded_chunk.after(PhysicsSet), + update_in_loaded_chunk, // fire the Death event when the player dies. death_event, // add GameProfileComponent when we get an AddPlayerEvent @@ -721,7 +721,13 @@ impl Plugin for TickBroadcastPlugin { pub struct AmbiguityLoggerPlugin; impl Plugin for AmbiguityLoggerPlugin { fn build(&self, app: &mut App) { - app.edit_schedule(Main, |schedule| { + app.edit_schedule(Update, |schedule| { + schedule.set_build_settings(ScheduleBuildSettings { + ambiguity_detection: LogLevel::Warn, + ..Default::default() + }); + }); + app.edit_schedule(FixedUpdate, |schedule| { schedule.set_build_settings(ScheduleBuildSettings { ambiguity_detection: LogLevel::Warn, ..Default::default() diff --git a/azalea-client/src/events.rs b/azalea-client/src/events.rs index d5a32449..0d34d47b 100644 --- a/azalea-client/src/events.rs +++ b/azalea-client/src/events.rs @@ -209,7 +209,7 @@ fn remove_player_listener( } } -fn death_listener(query: Query<&LocalPlayerEvents>, mut events: EventReader<DeathEvent>) { +pub fn death_listener(query: Query<&LocalPlayerEvents>, mut events: EventReader<DeathEvent>) { for event in events.iter() { if let Ok(local_player_events) = query.get(event.entity) { local_player_events diff --git a/azalea-client/src/interact.rs b/azalea-client/src/interact.rs index 3c9428ff..2f7480cb 100644 --- a/azalea-client/src/interact.rs +++ b/azalea-client/src/interact.rs @@ -28,7 +28,7 @@ use log::warn; use crate::{ client::{PermissionLevel, PlayerAbilities}, - inventory::InventoryComponent, + inventory::{InventoryComponent, InventorySet}, local_player::{handle_send_packet_event, LocalGameMode, SendPacketEvent}, Client, LocalPlayer, }; @@ -49,7 +49,9 @@ impl Plugin for InteractPlugin { ) .before(handle_send_packet_event) .chain(), - update_modifiers_for_held_item, + update_modifiers_for_held_item + .after(InventorySet) + .after(crate::movement::walk_listener), ), ); } @@ -151,7 +153,7 @@ pub fn handle_block_interact_event( } #[allow(clippy::type_complexity)] -fn update_hit_result_component( +pub fn update_hit_result_component( mut commands: Commands, mut query: Query<( Entity, @@ -297,7 +299,7 @@ pub fn can_use_game_master_blocks( pub struct SwingArmEvent { pub entity: Entity, } -fn handle_swing_arm_event( +pub fn handle_swing_arm_event( mut events: EventReader<SwingArmEvent>, mut send_packet_events: EventWriter<SendPacketEvent>, ) { diff --git a/azalea-client/src/inventory.rs b/azalea-client/src/inventory.rs index 6f7829de..da5376fc 100644 --- a/azalea-client/src/inventory.rs +++ b/azalea-client/src/inventory.rs @@ -20,7 +20,7 @@ use bevy_ecs::{ entity::Entity, event::EventReader, prelude::{Event, EventWriter}, - schedule::IntoSystemConfigs, + schedule::{IntoSystemConfigs, SystemSet}, system::Query, }; use log::warn; @@ -44,11 +44,15 @@ impl Plugin for InventoryPlugin { handle_container_close_event.before(handle_send_packet_event), handle_client_side_close_container_event, ) - .chain(), + .chain() + .in_set(InventorySet), ); } } +#[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] +pub struct InventorySet; + impl Client { /// Return the menu that is currently open. If no menu is open, this will /// have the player's inventory. diff --git a/azalea-client/src/mining.rs b/azalea-client/src/mining.rs index c087c467..3d43e712 100644 --- a/azalea-client/src/mining.rs +++ b/azalea-client/src/mining.rs @@ -2,6 +2,7 @@ use azalea_block::{Block, BlockState, FluidState}; use azalea_core::{BlockPos, Direction, GameMode}; use azalea_entity::{mining::get_mine_progress, FluidOnEyes, Physics}; use azalea_inventory::ItemSlot; +use azalea_physics::PhysicsSet; use azalea_protocol::packets::game::serverbound_player_action_packet::{ self, ServerboundPlayerActionPacket, }; @@ -16,7 +17,7 @@ use crate::{ can_use_game_master_blocks, check_is_interaction_restricted, CurrentSequenceNumber, HitResultComponent, SwingArmEvent, }, - inventory::InventoryComponent, + inventory::{InventoryComponent, InventorySet}, local_player::{LocalGameMode, SendPacketEvent}, Client, }; @@ -31,7 +32,7 @@ impl Plugin for MinePlugin { .add_event::<StopMiningBlockEvent>() .add_event::<MineBlockProgressEvent>() .add_event::<AttackBlockEvent>() - .add_systems(FixedUpdate, continue_mining_block) + .add_systems(FixedUpdate, continue_mining_block.before(PhysicsSet)) .add_systems( Update, ( @@ -40,11 +41,23 @@ impl Plugin for MinePlugin { handle_finish_mining_block_event, handle_stop_mining_block_event, ) - .chain(), + .chain() + .in_set(MiningSet) + .after(InventorySet) + .before(azalea_entity::update_bounding_box) + .after(azalea_entity::update_fluid_on_eyes) + .after(crate::interact::update_hit_result_component) + .after(crate::attack::handle_attack_event) + .after(crate::interact::handle_block_interact_event) + .before(crate::interact::handle_swing_arm_event) + .before(azalea_physics::handle_force_jump), ); } } +#[derive(SystemSet, Debug, Hash, PartialEq, Eq, Clone)] +pub struct MiningSet; + impl Client { pub fn start_mining(&mut self, position: BlockPos) { self.ecs.lock().send_event(StartMiningBlockEvent { diff --git a/azalea-client/src/movement.rs b/azalea-client/src/movement.rs index 919be0e6..b1e58324 100644 --- a/azalea-client/src/movement.rs +++ b/azalea-client/src/movement.rs @@ -1,8 +1,8 @@ use crate::client::Client; -use crate::local_player::{update_in_loaded_chunk, LocalPlayer, LocalPlayerInLoadedChunk}; +use crate::local_player::{LocalPlayer, LocalPlayerInLoadedChunk}; use azalea_entity::{metadata::Sprinting, Attributes, Jumping}; use azalea_entity::{LastSentPosition, LookDirection, Physics, Position}; -use azalea_physics::{force_jump_listener, PhysicsSet}; +use azalea_physics::{handle_force_jump, PhysicsSet}; use azalea_protocol::packets::game::serverbound_player_command_packet::ServerboundPlayerCommandPacket; use azalea_protocol::packets::game::{ serverbound_move_player_pos_packet::ServerboundMovePlayerPosPacket, @@ -48,7 +48,7 @@ impl Plugin for PlayerMovePlugin { Update, (sprint_listener, walk_listener) .chain() - .before(force_jump_listener), + .before(handle_force_jump), ) .add_systems( FixedUpdate, @@ -56,7 +56,7 @@ impl Plugin for PlayerMovePlugin { local_player_ai_step .in_set(PhysicsSet) .before(azalea_physics::ai_step), - send_position.after(update_in_loaded_chunk), + send_position.after(PhysicsSet), ) .chain(), ); @@ -120,7 +120,7 @@ pub struct PhysicsState { } #[allow(clippy::type_complexity)] -pub(crate) fn send_position( +pub fn send_position( mut query: Query< ( &MinecraftEntityId, diff --git a/azalea-client/src/packet_handling.rs b/azalea-client/src/packet_handling.rs index 0b6e23b1..605da379 100644 --- a/azalea-client/src/packet_handling.rs +++ b/azalea-client/src/packet_handling.rs @@ -42,6 +42,7 @@ use crate::{ chat::{ChatPacket, ChatReceivedEvent}, client::{PlayerAbilities, TabList}, disconnect::DisconnectEvent, + events::death_listener, inventory::{ ClientSideCloseContainerEvent, InventoryComponent, MenuOpenedEvent, SetContainerContentEvent, @@ -90,7 +91,7 @@ impl Plugin for PacketHandlerPlugin { // we want to index and deindex right after .before(EntityUpdateSet::Deindex), ) - .add_systems(Update, death_event_on_0_health) + .add_systems(Update, death_event_on_0_health.before(death_listener)) .init_resource::<Events<PacketEvent>>() .add_event::<AddPlayerEvent>() .add_event::<RemovePlayerEvent>() diff --git a/azalea-entity/src/plugin/indexing.rs b/azalea-entity/src/plugin/indexing.rs index 3c311df9..be5c0a5b 100644 --- a/azalea-entity/src/plugin/indexing.rs +++ b/azalea-entity/src/plugin/indexing.rs @@ -117,7 +117,6 @@ pub fn deduplicate_entities( entity_id_index.insert(*id, *old_entity); } - let old_loaded_by = loaded_by_query.get_mut(*old_entity); // merge them if possible if let Ok(mut old_loaded_by) = old_loaded_by { diff --git a/azalea-entity/src/plugin/mod.rs b/azalea-entity/src/plugin/mod.rs index a1c7fcff..41ec4e6a 100644 --- a/azalea-entity/src/plugin/mod.rs +++ b/azalea-entity/src/plugin/mod.rs @@ -5,7 +5,7 @@ use std::collections::HashSet; use azalea_core::{BlockPos, Vec3}; use azalea_world::{InstanceContainer, InstanceName, MinecraftEntityId}; -use bevy_app::{App, FixedUpdate, Plugin, PostUpdate, PreUpdate, Update}; +use bevy_app::{App, Plugin, PostUpdate, PreUpdate, Update}; use bevy_ecs::prelude::*; use derive_more::{Deref, DerefMut}; use log::debug; @@ -68,7 +68,7 @@ impl Plugin for EntityPlugin { ), ), ) - .add_systems(FixedUpdate, update_bounding_box) + .add_systems(Update, update_bounding_box) .init_resource::<EntityUuidIndex>(); } } diff --git a/azalea-physics/src/collision/mod.rs b/azalea-physics/src/collision/mod.rs index 5d3da699..de9439ca 100644 --- a/azalea-physics/src/collision/mod.rs +++ b/azalea-physics/src/collision/mod.rs @@ -60,7 +60,12 @@ fn collide(movement: &Vec3, world: &Instance, physics: &azalea_entity::Physics) let collided_movement = if movement.length_sqr() == 0.0 { *movement } else { - collide_bounding_box(movement, &entity_bounding_box, world, entity_collisions.clone()) + collide_bounding_box( + movement, + &entity_bounding_box, + world, + entity_collisions.clone(), + ) }; let x_collision = movement.x != collided_movement.x; @@ -70,9 +75,8 @@ fn collide(movement: &Vec3, world: &Instance, physics: &azalea_entity::Physics) let on_ground = physics.on_ground || y_collision && movement.y < 0.; let max_up_step = 0.6; - if on_ground && (x_collision || z_collision) { - let mut hypothetical_new_position - = collide_bounding_box( + if on_ground && (x_collision || z_collision) { + let mut hypothetical_new_position = collide_bounding_box( &Vec3 { x: movement.x, y: max_up_step, @@ -104,12 +108,15 @@ fn collide(movement: &Vec3, world: &Instance, physics: &azalea_entity::Physics) entity_collisions.clone(), ) .add(step_up_position); - if var11.horizontal_distance_sqr() > hypothetical_new_position.horizontal_distance_sqr() { + if var11.horizontal_distance_sqr() > hypothetical_new_position.horizontal_distance_sqr() + { hypothetical_new_position = var11; } } - if hypothetical_new_position.horizontal_distance_sqr() > collided_movement.horizontal_distance_sqr() { + if hypothetical_new_position.horizontal_distance_sqr() + > collided_movement.horizontal_distance_sqr() + { return hypothetical_new_position.add(collide_bounding_box( &Vec3 { x: 0., diff --git a/azalea-physics/src/lib.rs b/azalea-physics/src/lib.rs index 50b2c11b..9ff605b9 100644 --- a/azalea-physics/src/lib.rs +++ b/azalea-physics/src/lib.rs @@ -33,15 +33,11 @@ impl Plugin for PhysicsPlugin { app.add_event::<ForceJumpEvent>() .add_systems( Update, - force_jump_listener.after(azalea_entity::clamp_look_direction), + handle_force_jump + .after(azalea_entity::clamp_look_direction) + .before(azalea_entity::update_bounding_box), ) - .add_systems( - FixedUpdate, - (ai_step, travel) - .chain() - .in_set(PhysicsSet) - .after(azalea_entity::update_bounding_box), - ); + .add_systems(FixedUpdate, (ai_step, travel).chain().in_set(PhysicsSet)); } } @@ -173,7 +169,7 @@ pub fn ai_step( #[derive(Event)] pub struct ForceJumpEvent(pub Entity); -pub fn force_jump_listener( +pub fn handle_force_jump( mut query: Query<( &mut Physics, &Position, diff --git a/azalea/src/auto_respawn.rs b/azalea/src/auto_respawn.rs index 77a75b4b..7034c86b 100644 --- a/azalea/src/auto_respawn.rs +++ b/azalea/src/auto_respawn.rs @@ -1,5 +1,5 @@ use crate::app::{App, Plugin}; -use azalea_client::packet_handling::DeathEvent; +use azalea_client::packet_handling::{death_event_on_0_health, DeathEvent}; use azalea_client::respawn::{perform_respawn, PerformRespawnEvent}; use bevy_app::Update; use bevy_ecs::prelude::*; @@ -9,7 +9,12 @@ use bevy_ecs::prelude::*; pub struct AutoRespawnPlugin; impl Plugin for AutoRespawnPlugin { fn build(&self, app: &mut App) { - app.add_systems(Update, auto_respawn.before(perform_respawn)); + app.add_systems( + Update, + auto_respawn + .before(perform_respawn) + .after(death_event_on_0_health), + ); } } diff --git a/azalea/src/bot.rs b/azalea/src/bot.rs index 40ab4124..10bf1161 100644 --- a/azalea/src/bot.rs +++ b/azalea/src/bot.rs @@ -15,7 +15,7 @@ use azalea_core::{BlockPos, Vec3}; use azalea_entity::{ clamp_look_direction, metadata::Player, EyeHeight, Jumping, Local, LookDirection, Position, }; -use azalea_physics::{force_jump_listener, PhysicsSet}; +use azalea_physics::{handle_force_jump, PhysicsSet}; use bevy_app::{FixedUpdate, Update}; use bevy_ecs::prelude::Event; use bevy_ecs::schedule::IntoSystemConfigs; @@ -35,9 +35,9 @@ impl Plugin for BotPlugin { ( insert_bot, look_at_listener - .before(force_jump_listener) + .before(handle_force_jump) .before(clamp_look_direction), - jump_listener, + jump_listener.before(handle_force_jump), ), ) .add_systems(FixedUpdate, stop_jumping.after(PhysicsSet)); @@ -138,7 +138,10 @@ impl BotClientExt for azalea_client::Client { #[derive(Event)] pub struct JumpEvent(pub Entity); -fn jump_listener(mut query: Query<(&mut Jumping, &mut Bot)>, mut events: EventReader<JumpEvent>) { +pub fn jump_listener( + mut query: Query<(&mut Jumping, &mut Bot)>, + mut events: EventReader<JumpEvent>, +) { for event in events.iter() { if let Ok((mut jumping, mut bot)) = query.get_mut(event.0) { **jumping = true; diff --git a/azalea/src/pathfinder/mod.rs b/azalea/src/pathfinder/mod.rs index ae88b0cc..03a75599 100644 --- a/azalea/src/pathfinder/mod.rs +++ b/azalea/src/pathfinder/mod.rs @@ -16,6 +16,7 @@ use crate::ecs::{ system::{Commands, Query, Res}, }; use astar::Edge; +use azalea_client::movement::walk_listener; use azalea_client::{StartSprintEvent, StartWalkEvent}; use azalea_core::{BlockPos, CardinalDirection}; use azalea_entity::metadata::Player; @@ -43,16 +44,20 @@ impl Plugin for PathfinderPlugin { FixedUpdate, // putting systems in the FixedUpdate schedule makes them run every Minecraft tick // (every 50 milliseconds). - tick_execute_path.after(PhysicsSet), + tick_execute_path + .after(PhysicsSet) + .after(azalea_client::movement::send_position), ) .add_systems(PreUpdate, add_default_pathfinder) .add_systems( Update, ( goto_listener, - (handle_tasks, path_found_listener).chain(), - stop_pathfinding_on_instance_change, - ), + handle_tasks, + path_found_listener, + stop_pathfinding_on_instance_change.before(walk_listener), + ) + .chain(), ); } } diff --git a/tick.svg b/tick.svg new file mode 100644 index 00000000..049bf4fc --- /dev/null +++ b/tick.svg @@ -0,0 +1,210 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 8.1.0 (0) + --> +<!-- Pages: 1 --> +<svg width="752pt" height="251pt" + viewBox="0.00 0.00 752.25 250.80" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 246.8)"> +<polygon fill="#0d1117" stroke="none" points="-4,4 -4,-246.8 748.25,-246.8 748.25,4 -4,4"/> +<g id="clust1" class="cluster"> +<title>clusternode_Set(1)</title> +<g id="a_clust1"><a xlink:title="PhysicsSet"> +<path fill="#ffffff" fill-opacity="0.266667" stroke="#ffffff" stroke-width="2" stroke-opacity="0.313725" d="M216.5,-111.8C216.5,-111.8 710.12,-111.8 710.12,-111.8 716.12,-111.8 722.12,-117.8 722.12,-123.8 722.12,-123.8 722.12,-186.8 722.12,-186.8 722.12,-192.8 716.12,-198.8 710.12,-198.8 710.12,-198.8 216.5,-198.8 216.5,-198.8 210.5,-198.8 204.5,-192.8 204.5,-186.8 204.5,-186.8 204.5,-123.8 204.5,-123.8 204.5,-117.8 210.5,-111.8 216.5,-111.8"/> +<text text-anchor="middle" x="463.31" y="-181.5" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#ffffff">PhysicsSet</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(1) --> +<!-- node_System(4) --> +<g id="node6" class="node"> +<title>node_System(4)</title> +<g id="a_node6"><a xlink:title="azalea_client::movement::send_position"> +<polygon fill="lightgrey" stroke="black" points="552,-103.8 461,-103.8 461,-67.8 552,-67.8 552,-103.8"/> +<text text-anchor="middle" x="506.5" y="-80.75" font-family="Times,serif" font-size="14.00">send_position</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(1)->node_System(4) --> +<g id="edge3" class="edge"> +<title>set_marker_node_Set(1)->node_System(4)</title> +<g id="a_edge3"><a xlink:title="PhysicsSet → send_position"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M335.33,-111.8C369.11,-106.64 413.06,-99.92 447.84,-94.61"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="449.3,-97.62 458.66,-92.65 448.24,-90.7 449.3,-97.62"/> +</a> +</g> +</g> +<!-- node_System(7) --> +<g id="node9" class="node"> +<title>node_System(7)</title> +<g id="a_node9"><a xlink:title="azalea_client::attack::update_attack_strength_scale"> +<polygon fill="lightgrey" stroke="black" points="594,-242.8 419,-242.8 419,-206.8 594,-206.8 594,-242.8"/> +<text text-anchor="middle" x="506.5" y="-219.75" font-family="Times,serif" font-size="14.00">update_attack_strength_scale</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(1)->node_System(7) --> +<g id="edge6" class="edge"> +<title>set_marker_node_Set(1)->node_System(7)</title> +<g id="a_edge6"><a xlink:title="PhysicsSet → update_attack_strength_scale"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M283.05,-119.78C284.96,-119.22 346.62,-101.35 418.35,-198.8"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="414.85,-200.16 424.59,-204.31 419.56,-194.99 414.85,-200.16"/> +</a> +</g> +</g> +<!-- node_System(9) --> +<g id="node11" class="node"> +<title>node_System(9)</title> +<g id="a_node11"><a xlink:title="azalea::bot::stop_jumping"> +<polygon fill="lightgrey" stroke="black" points="552,-56.8 461,-56.8 461,-20.8 552,-20.8 552,-56.8"/> +<text text-anchor="middle" x="506.5" y="-33.75" font-family="Times,serif" font-size="14.00">stop_jumping</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(1)->node_System(9) --> +<g id="edge8" class="edge"> +<title>set_marker_node_Set(1)->node_System(9)</title> +<g id="a_edge8"><a xlink:title="PhysicsSet → stop_jumping"> +<path fill="none" stroke="#663699" stroke-width="2" d="M299.6,-111.8C324.92,-99.81 374.91,-76.97 419,-61.8 428.4,-58.56 438.51,-55.5 448.38,-52.74"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="449.95,-55.4 458.68,-49.41 448.12,-48.64 449.95,-55.4"/> +</a> +</g> +</g> +<!-- node_System(10) --> +<g id="node12" class="node"> +<title>node_System(10)</title> +<g id="a_node12"><a xlink:title="azalea::pathfinder::tick_execute_path"> +<polygon fill="lightgrey" stroke="black" points="744.25,-62.8 630,-62.8 630,-26.8 744.25,-26.8 744.25,-62.8"/> +<text text-anchor="middle" x="687.12" y="-39.75" font-family="Times,serif" font-size="14.00">tick_execute_path</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(1)->node_System(10) --> +<g id="edge9" class="edge"> +<title>set_marker_node_Set(1)->node_System(10)</title> +<g id="a_edge9"><a xlink:title="PhysicsSet → tick_execute_path"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M289.72,-111.8C307.91,-90.86 360.67,-34.69 419,-14.8 492.61,10.31 517.18,-2.6 594,-14.8 604.75,-16.5 615.94,-19.26 626.68,-22.43"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="626.42,-26.65 637.01,-26.31 628.52,-19.97 626.42,-26.65"/> +</a> +</g> +</g> +<!-- node_System(0) --> +<g id="node2" class="node"> +<title>node_System(0)</title> +<g id="a_node2"><a xlink:title="azalea_physics::ai_step"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="536.25,-166.8 476.75,-166.8 476.75,-130.8 536.25,-130.8 536.25,-166.8"/> +<text text-anchor="middle" x="506.5" y="-143.37" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">ai_step</text> +</a> +</g> +</g> +<!-- node_System(1) --> +<g id="node3" class="node"> +<title>node_System(1)</title> +<g id="a_node3"><a xlink:title="azalea_physics::travel"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="714.12,-166.8 660.12,-166.8 660.12,-130.8 714.12,-130.8 714.12,-166.8"/> +<text text-anchor="middle" x="687.12" y="-143.37" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">travel</text> +</a> +</g> +</g> +<!-- node_System(0)->node_System(1) --> +<g id="edge1" class="edge"> +<title>node_System(0)->node_System(1)</title> +<g id="a_edge1"><a xlink:title="ai_step → travel"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M536.6,-148.8C566.57,-148.8 613.49,-148.8 646.77,-148.8"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="646.66,-152.3 656.66,-148.8 646.66,-145.3 646.66,-152.3"/> +</a> +</g> +</g> +<!-- node_System(3) --> +<g id="node4" class="node"> +<title>node_System(3)</title> +<g id="a_node4"><a xlink:title="azalea_client::movement::local_player_ai_step"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="351.5,-166.8 212.5,-166.8 212.5,-130.8 351.5,-130.8 351.5,-166.8"/> +<text text-anchor="middle" x="282" y="-143.37" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">local_player_ai_step</text> +</a> +</g> +</g> +<!-- node_System(3)->node_System(0) --> +<g id="edge2" class="edge"> +<title>node_System(3)->node_System(0)</title> +<g id="a_edge2"><a xlink:title="local_player_ai_step → SystemTypeSet(ai_step")"> +<path fill="none" stroke="#881877" stroke-width="2" d="M351.88,-148.8C388.51,-148.8 432.34,-148.8 463.79,-148.8"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="463.46,-152.3 473.46,-148.8 463.46,-145.3 463.46,-152.3"/> +</a> +</g> +</g> +<!-- node_System(3)->node_System(4) --> +<g id="edge4" class="edge"> +<title>node_System(3)->node_System(4)</title> +<g id="a_edge4"><a xlink:title="local_player_ai_step → send_position"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M351.8,-134.81C362.34,-132.14 373.03,-129.12 383,-125.8 399.61,-120.25 402.52,-115.71 419,-109.8 428.39,-106.43 438.48,-103.25 448.35,-100.36"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="449.99,-102.97 458.66,-96.89 448.08,-96.24 449.99,-102.97"/> +</a> +</g> +</g> +<!-- node_System(2) --> +<g id="node5" class="node"> +<title>node_System(2)</title> +<g id="a_node5"><a xlink:title="azalea_client::events::tick_listener"> +<polygon fill="lightgrey" stroke="black" points="113.88,-184.8 31.12,-184.8 31.12,-148.8 113.88,-148.8 113.88,-184.8"/> +<text text-anchor="middle" x="72.5" y="-161.75" font-family="Times,serif" font-size="14.00">tick_listener</text> +</a> +</g> +</g> +<!-- node_System(4)->node_System(10) --> +<g id="edge10" class="edge"> +<title>node_System(4)->node_System(10)</title> +<g id="a_edge10"><a xlink:title="SystemTypeSet(send_position") → tick_execute_path"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M552.11,-75.56C571.72,-71.05 595.2,-65.67 616.99,-60.66"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="618.62,-63.42 627.59,-57.77 617.06,-56.6 618.62,-63.42"/> +</a> +</g> +</g> +<!-- node_System(5) --> +<g id="node7" class="node"> +<title>node_System(5)</title> +<g id="a_node7"><a xlink:title="azalea_client::mining::continue_mining_block"> +<polygon fill="lightgrey" stroke="black" points="145,-137.8 0,-137.8 0,-101.8 145,-101.8 145,-137.8"/> +<text text-anchor="middle" x="72.5" y="-114.75" font-family="Times,serif" font-size="14.00">continue_mining_block</text> +</a> +</g> +</g> +<!-- node_System(5)->set_marker_node_Set(1) --> +<g id="edge5" class="edge"> +<title>node_System(5)->set_marker_node_Set(1)</title> +<g id="a_edge5"><a xlink:title="continue_mining_block → PhysicsSet"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M145.49,-119.8C160.39,-119.8 176.25,-119.8 191.68,-119.8"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="191.5,-123.3 201.5,-119.8 191.5,-116.3 191.5,-123.3"/> +</a> +</g> +</g> +<!-- node_System(6) --> +<g id="node8" class="node"> +<title>node_System(6)</title> +<g id="a_node8"><a xlink:title="azalea_client::attack::increment_ticks_since_last_attack"> +<polygon fill="lightgrey" stroke="black" points="383,-242.8 181,-242.8 181,-206.8 383,-206.8 383,-242.8"/> +<text text-anchor="middle" x="282" y="-219.75" font-family="Times,serif" font-size="14.00">increment_ticks_since_last_attack</text> +</a> +</g> +</g> +<!-- node_System(6)->node_System(7) --> +<g id="edge7" class="edge"> +<title>node_System(6)->node_System(7)</title> +<g id="a_edge7"><a xlink:title="increment_ticks_since_last_attack → update_attack_strength_scale"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M383.18,-224.8C390.7,-224.8 398.29,-224.8 405.8,-224.8"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="405.79,-228.3 415.79,-224.8 405.79,-221.3 405.79,-228.3"/> +</a> +</g> +</g> +<!-- node_System(8) --> +<g id="node10" class="node"> +<title>node_System(8)</title> +<g id="a_node10"><a xlink:title="azalea_client::client::send_tick_broadcast"> +<polygon fill="lightgrey" stroke="black" points="135.62,-231.8 9.38,-231.8 9.38,-195.8 135.62,-195.8 135.62,-231.8"/> +<text text-anchor="middle" x="72.5" y="-208.75" font-family="Times,serif" font-size="14.00">send_tick_broadcast</text> +</a> +</g> +</g> +</g> +</svg> diff --git a/update.svg b/update.svg new file mode 100644 index 00000000..852dc447 --- /dev/null +++ b/update.svg @@ -0,0 +1,1137 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Generated by graphviz version 8.1.0 (0) + --> +<!-- Pages: 1 --> +<svg width="2807pt" height="1345pt" + viewBox="0.00 0.00 2806.75 1345.10" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1341.1)"> +<polygon fill="#0d1117" stroke="none" points="-4,4 -4,-1341.1 2802.75,-1341.1 2802.75,4 -4,4"/> +<g id="clust1" class="cluster"> +<title>clusternode_Set(5)</title> +<g id="a_clust1"><a xlink:title="Index"> +<path fill="#ffffff" fill-opacity="0.266667" stroke="#ffffff" stroke-width="2" stroke-opacity="0.313725" d="M47.12,-236.1C47.12,-236.1 240.38,-236.1 240.38,-236.1 246.38,-236.1 252.38,-242.1 252.38,-248.1 252.38,-248.1 252.38,-405.1 252.38,-405.1 252.38,-411.1 246.38,-417.1 240.38,-417.1 240.38,-417.1 47.12,-417.1 47.12,-417.1 41.12,-417.1 35.12,-411.1 35.12,-405.1 35.12,-405.1 35.12,-248.1 35.12,-248.1 35.12,-242.1 41.12,-236.1 47.12,-236.1"/> +<text text-anchor="middle" x="143.75" y="-399.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#ffffff">Index</text> +</a> +</g> +</g> +<g id="clust2" class="cluster"> +<title>clusternode_Set(26)</title> +<g id="a_clust2"><a xlink:title="InventorySet"> +<path fill="#ffffff" fill-opacity="0.266667" stroke="#ffffff" stroke-width="2" stroke-opacity="0.313725" d="M808.38,-634.1C808.38,-634.1 2190.25,-634.1 2190.25,-634.1 2196.25,-634.1 2202.25,-640.1 2202.25,-646.1 2202.25,-646.1 2202.25,-709.1 2202.25,-709.1 2202.25,-715.1 2196.25,-721.1 2190.25,-721.1 2190.25,-721.1 808.38,-721.1 808.38,-721.1 802.38,-721.1 796.38,-715.1 796.38,-709.1 796.38,-709.1 796.38,-646.1 796.38,-646.1 796.38,-640.1 802.38,-634.1 808.38,-634.1"/> +<text text-anchor="middle" x="1499.31" y="-703.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#ffffff">InventorySet</text> +</a> +</g> +</g> +<g id="clust3" class="cluster"> +<title>clusternode_Set(41)</title> +<g id="a_clust3"><a xlink:title="MiningSet"> +<path fill="#ffffff" fill-opacity="0.266667" stroke="#ffffff" stroke-width="2" stroke-opacity="0.313725" d="M1061.75,-229.1C1061.75,-229.1 2163.62,-229.1 2163.62,-229.1 2169.62,-229.1 2175.62,-235.1 2175.62,-241.1 2175.62,-241.1 2175.62,-304.1 2175.62,-304.1 2175.62,-310.1 2169.62,-316.1 2163.62,-316.1 2163.62,-316.1 1061.75,-316.1 1061.75,-316.1 1055.75,-316.1 1049.75,-310.1 1049.75,-304.1 1049.75,-304.1 1049.75,-241.1 1049.75,-241.1 1049.75,-235.1 1055.75,-229.1 1061.75,-229.1"/> +<text text-anchor="middle" x="1612.69" y="-298.8" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#ffffff">MiningSet</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(5) --> +<!-- node_System(3) --> +<g id="node19" class="node"> +<title>node_System(3)</title> +<g id="a_node19"><a xlink:title="azalea_client::player::retroactively_add_game_profile_component"> +<polygon fill="lightgrey" stroke="black" points="581,-403.1 323.5,-403.1 323.5,-367.1 581,-367.1 581,-403.1"/> +<text text-anchor="middle" x="452.25" y="-380.05" font-family="Times,serif" font-size="14.00">retroactively_add_game_profile_component</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(5)->node_System(3) --> +<g id="edge2" class="edge"> +<title>set_marker_node_Set(5)->node_System(3)</title> +<g id="a_edge2"><a xlink:title="Index → retroactively_add_game_profile_component"> +<path fill="none" stroke="#881877" stroke-width="2" d="M252.37,-385.1C271.2,-385.1 291.05,-385.1 310.61,-385.1"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="310.3,-388.6 320.3,-385.1 310.3,-381.6 310.3,-388.6"/> +</a> +</g> +</g> +<!-- node_System(5) --> +<g id="node2" class="node"> +<title>node_System(5)</title> +<g id="a_node2"><a xlink:title="azalea_entity::plugin::indexing::update_entity_chunk_positions"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="244.38,-374.1 43.12,-374.1 43.12,-338.1 244.38,-338.1 244.38,-374.1"/> +<text text-anchor="middle" x="143.75" y="-350.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">update_entity_chunk_positions</text> +</a> +</g> +</g> +<!-- node_System(6) --> +<g id="node3" class="node"> +<title>node_System(6)</title> +<g id="a_node3"><a xlink:title="azalea_entity::plugin::indexing::update_uuid_index"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="208.75,-327.1 78.75,-327.1 78.75,-291.1 208.75,-291.1 208.75,-327.1"/> +<text text-anchor="middle" x="143.75" y="-303.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">update_uuid_index</text> +</a> +</g> +</g> +<!-- node_System(7) --> +<g id="node4" class="node"> +<title>node_System(7)</title> +<g id="a_node4"><a xlink:title="azalea_entity::plugin::indexing::update_entity_by_id_index"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="232,-280.1 55.5,-280.1 55.5,-244.1 232,-244.1 232,-280.1"/> +<text text-anchor="middle" x="143.75" y="-256.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">update_entity_by_id_index</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26) --> +<!-- node_System(38) --> +<g id="node12" class="node"> +<title>node_System(38)</title> +<g id="a_node12"><a xlink:title="azalea_client::mining::handle_start_mining_block_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1275.5,-273.1 1057.75,-273.1 1057.75,-237.1 1275.5,-237.1 1275.5,-273.1"/> +<text text-anchor="middle" x="1166.62" y="-249.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_start_mining_block_event</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26)->node_System(38) --> +<g id="edge24" class="edge"> +<title>set_marker_node_Set(26)->node_System(38)</title> +<g id="a_edge24"><a xlink:title="InventorySet → handle_start_mining_block_event"> +<path fill="none" stroke="#881877" stroke-width="2" d="M922.99,-634.1C948.93,-623.37 991.26,-601.69 1012,-568.1 1077.87,-461.4 967.39,-379.36 1048.77,-280.5"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="1051.27,-282.69 1055.26,-272.88 1046.02,-278.06 1051.27,-282.69"/> +</a> +</g> +</g> +<!-- node_System(39) --> +<g id="node13" class="node"> +<title>node_System(39)</title> +<g id="a_node13"><a xlink:title="azalea_client::mining::handle_start_mining_block_with_direction_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1629,-273.1 1321.25,-273.1 1321.25,-237.1 1629,-237.1 1629,-273.1"/> +<text text-anchor="middle" x="1475.12" y="-249.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_start_mining_block_with_direction_event</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26)->node_System(39) --> +<g id="edge32" class="edge"> +<title>set_marker_node_Set(26)->node_System(39)</title> +<g id="a_edge32"><a xlink:title="InventorySet → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M915.89,-634.1C941.8,-620.48 997.49,-593 1048,-580.1 1099.34,-566.98 1240.23,-584.05 1285.25,-556.1 1388.5,-491.99 1444.68,-348.32 1465.1,-285.49"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="1469.25,-285.95 1468.92,-275.36 1462.58,-283.85 1469.25,-285.95"/> +</a> +</g> +</g> +<!-- node_System(40) --> +<g id="node14" class="node"> +<title>node_System(40)</title> +<g id="a_node14"><a xlink:title="azalea_client::mining::handle_finish_mining_block_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1888,-273.1 1665,-273.1 1665,-237.1 1888,-237.1 1888,-273.1"/> +<text text-anchor="middle" x="1776.5" y="-249.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_finish_mining_block_event</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26)->node_System(40) --> +<g id="edge41" class="edge"> +<title>set_marker_node_Set(26)->node_System(40)</title> +<g id="a_edge41"><a xlink:title="InventorySet → handle_finish_mining_block_event"> +<path fill="none" stroke="#663699" stroke-width="2" d="M977.34,-634.1C1000.05,-631.91 1025.02,-629.7 1048,-628.1 1080.23,-625.84 1603.84,-622.37 1629,-602.1 1677.68,-562.86 1642.35,-524.38 1665,-466.1 1691.32,-398.36 1733.58,-324.19 1757.49,-284.34"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="1760.95,-285.72 1763.14,-275.35 1754.97,-282.09 1760.95,-285.72"/> +</a> +</g> +</g> +<!-- node_System(41) --> +<g id="node15" class="node"> +<title>node_System(41)</title> +<g id="a_node15"><a xlink:title="azalea_client::mining::handle_stop_mining_block_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="2167.62,-273.1 1950.62,-273.1 1950.62,-237.1 2167.62,-237.1 2167.62,-273.1"/> +<text text-anchor="middle" x="2059.12" y="-249.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_stop_mining_block_event</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26)->node_System(41) --> +<g id="edge50" class="edge"> +<title>set_marker_node_Set(26)->node_System(41)</title> +<g id="a_edge50"><a xlink:title="InventorySet → handle_stop_mining_block_event"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M1481.49,-634.1C1561.56,-630.89 1619.92,-626.39 1629,-620.1 1663.72,-596.01 1638.67,-565.15 1665,-532.1 1761.31,-411.19 1923.94,-320.28 2006.58,-279.22"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="2008.74,-282.08 2016.18,-274.53 2005.66,-275.79 2008.74,-282.08"/> +</a> +</g> +</g> +<!-- node_System(36) --> +<g id="node44" class="node"> +<title>node_System(36)</title> +<g id="a_node44"><a xlink:title="azalea_client::interact::update_modifiers_for_held_item"> +<polygon fill="lightgrey" stroke="black" points="1572.75,-596.1 1377.5,-596.1 1377.5,-560.1 1572.75,-560.1 1572.75,-596.1"/> +<text text-anchor="middle" x="1475.12" y="-573.05" font-family="Times,serif" font-size="14.00">update_modifiers_for_held_item</text> +</a> +</g> +</g> +<!-- set_marker_node_Set(26)->node_System(36) --> +<g id="edge21" class="edge"> +<title>set_marker_node_Set(26)->node_System(36)</title> +<g id="a_edge21"><a xlink:title="InventorySet → update_modifiers_for_held_item"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M926.8,-634.1C955.89,-625.4 1004.86,-611.84 1048,-605.1 1154.69,-588.42 1277.95,-581.98 1364.37,-579.53"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="1364.21,-582.95 1374.11,-579.19 1364.02,-575.95 1364.21,-582.95"/> +</a> +</g> +</g> +<!-- node_System(24) --> +<g id="node6" class="node"> +<title>node_System(24)</title> +<g id="a_node6"><a xlink:title="azalea_client::inventory::handle_menu_opened_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="995.88,-689.1 804.38,-689.1 804.38,-653.1 995.88,-653.1 995.88,-689.1"/> +<text text-anchor="middle" x="900.12" y="-665.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_menu_opened_event</text> +</a> +</g> +</g> +<!-- node_System(25) --> +<g id="node7" class="node"> +<title>node_System(25)</title> +<g id="a_node7"><a xlink:title="azalea_client::inventory::handle_set_container_content_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1285.25,-689.1 1048,-689.1 1048,-653.1 1285.25,-653.1 1285.25,-689.1"/> +<text text-anchor="middle" x="1166.62" y="-665.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_set_container_content_event</text> +</a> +</g> +</g> +<!-- node_System(24)->node_System(25) --> +<g id="edge5" class="edge"> +<title>node_System(24)->node_System(25)</title> +<g id="a_edge5"><a xlink:title="handle_menu_opened_event → handle_set_container_content_event"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M996.24,-671.1C1008.79,-671.1 1021.83,-671.1 1034.85,-671.1"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="1034.84,-674.6 1044.84,-671.1 1034.84,-667.6 1034.84,-674.6"/> +</a> +</g> +</g> +<!-- node_System(26) --> +<g id="node8" class="node"> +<title>node_System(26)</title> +<g id="a_node8"><a xlink:title="azalea_client::inventory::handle_container_click_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1572,-689.1 1378.25,-689.1 1378.25,-653.1 1572,-653.1 1572,-689.1"/> +<text text-anchor="middle" x="1475.12" y="-665.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_container_click_event</text> +</a> +</g> +</g> +<!-- node_System(25)->node_System(26) --> +<g id="edge6" class="edge"> +<title>node_System(25)->node_System(26)</title> +<g id="a_edge6"><a xlink:title="handle_set_container_content_event → handle_container_click_event"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M1285.69,-671.1C1311.8,-671.1 1339.35,-671.1 1365.09,-671.1"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="1364.96,-674.6 1374.96,-671.1 1364.96,-667.6 1364.96,-674.6"/> +</a> +</g> +</g> +<!-- node_System(27) --> +<g id="node9" class="node"> +<title>node_System(27)</title> +<g id="a_node9"><a xlink:title="azalea_client::inventory::handle_container_close_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="1876,-689.1 1677,-689.1 1677,-653.1 1876,-653.1 1876,-689.1"/> +<text text-anchor="middle" x="1776.5" y="-665.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_container_close_event</text> +</a> +</g> +</g> +<!-- node_System(26)->node_System(27) --> +<g id="edge8" class="edge"> +<title>node_System(26)->node_System(27)</title> +<g id="a_edge8"><a xlink:title="handle_container_click_event → handle_container_close_event"> +<path fill="none" stroke="#663699" stroke-width="2" d="M1572.5,-671.1C1601.66,-671.1 1633.93,-671.1 1664,-671.1"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="1663.74,-674.6 1673.74,-671.1 1663.74,-667.6 1663.74,-674.6"/> +</a> +</g> +</g> +<!-- node_System(28) --> +<g id="node10" class="node"> +<title>node_System(28)</title> +<g id="a_node10"><a xlink:title="azalea_client::inventory::handle_client_side_close_container_event"> +<polygon fill="#eff1f3" stroke="#b4bec7" points="2194.25,-689.1 1924,-689.1 1924,-653.1 2194.25,-653.1 2194.25,-689.1"/> +<text text-anchor="middle" x="2059.12" y="-665.67" font-family="Helvetica,sans-Serif" font-size="14.00" fill="#15191d">handle_client_side_close_container_event</text> +</a> +</g> +</g> +<!-- node_System(27)->node_System(28) --> +<g id="edge9" class="edge"> +<title>node_System(27)->node_System(28)</title> +<g id="a_edge9"><a xlink:title="handle_container_close_event → handle_client_side_close_container_event"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M1876.44,-671.1C1887.68,-671.1 1899.31,-671.1 1911,-671.1"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="1910.7,-674.6 1920.7,-671.1 1910.7,-667.6 1910.7,-674.6"/> +</a> +</g> +</g> +<!-- node_System(4) --> +<g id="node20" class="node"> +<title>node_System(4)</title> +<g id="a_node20"><a xlink:title="azalea_client::local_player::handle_send_packet_event"> +<polygon fill="lightgrey" stroke="black" points="2583.25,-273.1 2421.75,-273.1 2421.75,-237.1 2583.25,-237.1 2583.25,-273.1"/> +<text text-anchor="middle" x="2502.5" y="-250.05" font-family="Times,serif" font-size="14.00">handle_send_packet_event</text> +</a> +</g> +</g> +<!-- node_System(27)->node_System(4) --> +<g id="edge7" class="edge"> +<title>node_System(27)->node_System(4)</title> +<g id="a_edge7"><a xlink:title="handle_container_close_event → SystemTypeSet(handle_send_packet_event")"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M1876.29,-654.77C1892.22,-652.38 1908.55,-650.06 1924,-648.1 1985.63,-640.27 2146.76,-649.02 2202.25,-621.1 2351.95,-545.75 2453.22,-357.76 2488.08,-284.75"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="2491.39,-285.81 2492.46,-275.27 2485.05,-282.84 2491.39,-285.81"/> +</a> +</g> +</g> +<!-- set_marker_node_Set(41) --> +<!-- node_System(38)->node_System(39) --> +<g id="edge40" class="edge"> +<title>node_System(38)->node_System(39)</title> +<g id="a_edge40"><a xlink:title="handle_start_mining_block_event → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M1275.69,-255.1C1286.21,-255.1 1297.06,-255.1 1307.99,-255.1"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="1307.85,-258.6 1317.85,-255.1 1307.85,-251.6 1307.85,-258.6"/> +</a> +</g> +</g> +<!-- node_System(14) --> +<g id="node27" class="node"> +<title>node_System(14)</title> +<g id="a_node27"><a xlink:title="azalea_entity::plugin::update_bounding_box"> +<polygon fill="lightgrey" stroke="black" points="2376.38,-412.1 2239.62,-412.1 2239.62,-376.1 2376.38,-376.1 2376.38,-412.1"/> +<text text-anchor="middle" x="2308" y="-389.05" font-family="Times,serif" font-size="14.00">update_bounding_box</text> +</a> +</g> +</g> +<!-- node_System(38)->node_System(14) --> +<g id="edge25" class="edge"> +<title>node_System(38)->node_System(14)</title> +<g id="a_edge25"><a xlink:title="handle_start_mining_block_event → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M1275.92,-272.27C1279.19,-274.33 1282.32,-276.59 1285.25,-279.1 1319.91,-308.68 1291.03,-340.99 1321.25,-375.1 1423.49,-490.48 1509.35,-437.89 1629,-535.1 1648.61,-551.03 1642.17,-568.28 1665,-579.1 1754.56,-621.54 1790.92,-599.07 1888,-579.1 2036.89,-548.47 2063.8,-506.85 2202.25,-444.1 2220.44,-435.85 2240.25,-426.49 2257.7,-418.12"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="2259.86,-421 2267.35,-413.51 2256.82,-414.7 2259.86,-421"/> +</a> +</g> +</g> +<!-- node_System(15) --> +<g id="node28" class="node"> +<title>node_System(15)</title> +<g id="a_node28"><a xlink:title="azalea_physics::handle_force_jump"> +<polygon fill="lightgrey" stroke="black" points="2120,-438.1 1998.25,-438.1 1998.25,-402.1 2120,-402.1 2120,-438.1"/> +<text text-anchor="middle" x="2059.12" y="-415.05" font-family="Times,serif" font-size="14.00">handle_force_jump</text> +</a> +</g> +</g> +<!-- node_System(38)->node_System(15) --> +<g id="edge31" class="edge"> +<title>node_System(38)->node_System(15)</title> +<g id="a_edge31"><a xlink:title="handle_start_mining_block_event → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M1275.75,-273C1279.05,-274.85 1282.23,-276.88 1285.25,-279.1 1311.87,-298.64 1293.7,-325.89 1321.25,-344.1 1375.85,-380.17 1809.49,-406.93 1984.88,-416.38"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="1984.63,-420.03 1994.81,-417.07 1985.01,-413.04 1984.63,-420.03"/> +</a> +</g> +</g> +<!-- node_System(35) --> +<g id="node43" class="node"> +<title>node_System(35)</title> +<g id="a_node43"><a xlink:title="azalea_client::interact::handle_swing_arm_event"> +<polygon fill="lightgrey" stroke="black" points="2385.75,-273.1 2230.25,-273.1 2230.25,-237.1 2385.75,-237.1 2385.75,-273.1"/> +<text text-anchor="middle" x="2308" y="-250.05" font-family="Times,serif" font-size="14.00">handle_swing_arm_event</text> +</a> +</g> +</g> +<!-- node_System(38)->node_System(35) --> +<g id="edge30" class="edge"> +<title>node_System(38)->node_System(35)</title> +<g id="a_edge30"><a xlink:title="handle_start_mining_block_event → SystemTypeSet(handle_swing_arm_event")"> +<path fill="none" stroke="#663699" stroke-width="2" d="M1275.7,-273.57C1290.96,-275.71 1306.47,-277.65 1321.25,-279.1 1711,-317.35 1817.13,-366.13 2202.25,-295.1 2220.58,-291.71 2239.86,-285.27 2256.8,-278.52"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="2258.79,-281.66 2266.68,-274.59 2256.11,-275.19 2258.79,-281.66"/> +</a> +</g> +</g> +<!-- node_System(39)->node_System(40) --> +<g id="edge49" class="edge"> +<title>node_System(39)->node_System(40)</title> +<g id="a_edge49"><a xlink:title="handle_start_mining_block_with_direction_event → handle_finish_mining_block_event"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M1629.32,-255.1C1636.88,-255.1 1644.42,-255.1 1651.88,-255.1"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="1651.75,-258.6 1661.75,-255.1 1651.75,-251.6 1651.75,-258.6"/> +</a> +</g> +</g> +<!-- node_System(39)->node_System(14) --> +<g id="edge33" class="edge"> +<title>node_System(39)->node_System(14)</title> +<g id="a_edge33"><a xlink:title="handle_start_mining_block_with_direction_event → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M1561.94,-273.58C1594.17,-280.2 1631.19,-287.43 1665,-293.1 1763.63,-309.63 1789.78,-304.27 1888,-323.1 1904.2,-326.2 1907.85,-328.78 1924,-332.1 2027.91,-353.45 2148.91,-372 2226.66,-383.11"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="2226.84,-386.95 2237.23,-384.89 2227.82,-380.02 2226.84,-386.95"/> +</a> +</g> +</g> +<!-- node_System(39)->node_System(15) --> +<g id="edge39" class="edge"> +<title>node_System(39)->node_System(15)</title> +<g id="a_edge39"><a xlink:title="handle_start_mining_block_with_direction_event → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M1525.04,-273.54C1562.94,-287.51 1616.92,-306.67 1665,-321.1 1775.86,-354.35 1906.52,-385.74 1985.79,-403.93"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="1985.53,-407.92 1996.06,-406.73 1987.09,-401.09 1985.53,-407.92"/> +</a> +</g> +</g> +<!-- node_System(39)->node_System(35) --> +<g id="edge38" class="edge"> +<title>node_System(39)->node_System(35)</title> +<g id="a_edge38"><a xlink:title="handle_start_mining_block_with_direction_event → SystemTypeSet(handle_swing_arm_event")"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M1604.19,-273.58C1624.49,-275.88 1645.29,-277.85 1665,-279.1 1903.3,-294.18 1964.98,-305.93 2202.25,-279.1 2209.29,-278.3 2216.54,-277.21 2223.8,-275.94"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="2225.2,-278.85 2234.38,-273.55 2223.9,-271.97 2225.2,-278.85"/> +</a> +</g> +</g> +<!-- node_System(40)->node_System(41) --> +<g id="edge58" class="edge"> +<title>node_System(40)->node_System(41)</title> +<g id="a_edge58"><a xlink:title="handle_finish_mining_block_event → handle_stop_mining_block_event"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M1888.41,-255.1C1904.49,-255.1 1921.11,-255.1 1937.37,-255.1"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="1937.31,-258.6 1947.31,-255.1 1937.31,-251.6 1937.31,-258.6"/> +</a> +</g> +</g> +<!-- node_System(40)->node_System(14) --> +<g id="edge42" class="edge"> +<title>node_System(40)->node_System(14)</title> +<g id="a_edge42"><a xlink:title="handle_finish_mining_block_event → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M1859.39,-273.51C1945.26,-293.24 2083.92,-326.31 2202.25,-360.1 2214.59,-363.62 2227.66,-367.63 2240.23,-371.64"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="2240,-375.88 2250.59,-375.62 2242.14,-369.22 2240,-375.88"/> +</a> +</g> +</g> +<!-- node_System(40)->node_System(15) --> +<g id="edge48" class="edge"> +<title>node_System(40)->node_System(15)</title> +<g id="a_edge48"><a xlink:title="handle_finish_mining_block_event → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M1805.78,-273.52C1828.18,-288.17 1860.21,-309.27 1888,-328.1 1904.13,-339.02 1907.24,-343.16 1924,-353.1 1950.29,-368.68 1980.67,-384.06 2005.87,-396.15"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="2004.88,-399.5 2015.41,-400.63 2007.88,-393.18 2004.88,-399.5"/> +</a> +</g> +</g> +<!-- node_System(40)->node_System(35) --> +<g id="edge47" class="edge"> +<title>node_System(40)->node_System(35)</title> +<g id="a_edge47"><a xlink:title="handle_finish_mining_block_event → SystemTypeSet(handle_swing_arm_event")"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M1882.1,-236.65C1896.15,-234.76 1910.4,-233.16 1924,-232.1 2047.29,-222.48 2079.3,-218.76 2202.25,-232.1 2207.87,-232.71 2213.63,-233.49 2219.41,-234.41"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="2219.63,-238.35 2230.08,-236.6 2220.82,-231.45 2219.63,-238.35"/> +</a> +</g> +</g> +<!-- node_System(41)->node_System(14) --> +<g id="edge51" class="edge"> +<title>node_System(41)->node_System(14)</title> +<g id="a_edge51"><a xlink:title="handle_stop_mining_block_event → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M2092.91,-273.55C2136.74,-298.23 2214.57,-342.06 2263.34,-369.51"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="2262.04,-372.93 2272.47,-374.78 2265.48,-366.83 2262.04,-372.93"/> +</a> +</g> +</g> +<!-- node_System(41)->node_System(15) --> +<g id="edge57" class="edge"> +<title>node_System(41)->node_System(15)</title> +<g id="a_edge57"><a xlink:title="handle_stop_mining_block_event → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#881877" stroke-width="2" d="M2059.12,-273.46C2059.12,-311.97 2059.12,-350.48 2059.12,-388.99"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="2055.63,-388.77 2059.12,-398.77 2062.63,-388.77 2055.63,-388.77"/> +</a> +</g> +</g> +<!-- node_System(41)->node_System(35) --> +<g id="edge56" class="edge"> +<title>node_System(41)->node_System(35)</title> +<g id="a_edge56"><a xlink:title="handle_stop_mining_block_event → SystemTypeSet(handle_swing_arm_event")"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M2168.05,-255.1C2184.53,-255.1 2201.39,-255.1 2217.42,-255.1"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="2217.08,-258.6 2227.08,-255.1 2217.08,-251.6 2217.08,-258.6"/> +</a> +</g> +</g> +<!-- node_System(0) --> +<g id="node16" class="node"> +<title>node_System(0)</title> +<g id="a_node16"><a xlink:title="azalea_client::packet_handling::death_event_on_0_health"> +<polygon fill="lightgrey" stroke="black" points="221.12,-632.1 66.38,-632.1 66.38,-596.1 221.12,-596.1 221.12,-632.1"/> +<text text-anchor="middle" x="143.75" y="-609.05" font-family="Times,serif" font-size="14.00">death_event_on_0_health</text> +</a> +</g> +</g> +<!-- node_System(22) --> +<g id="node35" class="node"> +<title>node_System(22)</title> +<g id="a_node35"><a xlink:title="azalea_client::events::death_listener"> +<polygon fill="lightgrey" stroke="black" points="498.12,-620.1 406.38,-620.1 406.38,-584.1 498.12,-584.1 498.12,-620.1"/> +<text text-anchor="middle" x="452.25" y="-597.05" font-family="Times,serif" font-size="14.00">death_listener</text> +</a> +</g> +</g> +<!-- node_System(0)->node_System(22) --> +<g id="edge1" class="edge"> +<title>node_System(0)->node_System(22)</title> +<g id="a_edge1"><a xlink:title="death_event_on_0_health → SystemTypeSet(death_listener")"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M221.3,-611.1C274.58,-609.01 344.51,-606.27 393.21,-604.37"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="393.18,-607.75 403.04,-603.87 392.91,-600.76 393.18,-607.75"/> +</a> +</g> +</g> +<!-- node_System(51) --> +<g id="node55" class="node"> +<title>node_System(51)</title> +<g id="a_node55"><a xlink:title="azalea::auto_respawn::auto_respawn"> +<polygon fill="lightgrey" stroke="black" points="497.75,-667.1 406.75,-667.1 406.75,-631.1 497.75,-631.1 497.75,-667.1"/> +<text text-anchor="middle" x="452.25" y="-644.05" font-family="Times,serif" font-size="14.00">auto_respawn</text> +</a> +</g> +</g> +<!-- node_System(0)->node_System(51) --> +<g id="edge70" class="edge"> +<title>node_System(0)->node_System(51)</title> +<g id="a_edge70"><a xlink:title="SystemTypeSet(death_event_on_0_health") → auto_respawn"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M221.3,-622.84C274.74,-628.94 344.94,-636.96 393.65,-642.52"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="393.15,-646.33 403.48,-643.98 393.94,-639.37 393.15,-646.33"/> +</a> +</g> +</g> +<!-- node_System(1) --> +<g id="node17" class="node"> +<title>node_System(1)</title> +<g id="a_node17"><a xlink:title="azalea_client::local_player::update_in_loaded_chunk"> +<polygon fill="lightgrey" stroke="black" points="219.62,-679.1 67.88,-679.1 67.88,-643.1 219.62,-643.1 219.62,-679.1"/> +<text text-anchor="middle" x="143.75" y="-656.05" font-family="Times,serif" font-size="14.00">update_in_loaded_chunk</text> +</a> +</g> +</g> +<!-- node_System(2) --> +<g id="node18" class="node"> +<title>node_System(2)</title> +<g id="a_node18"><a xlink:title="azalea_client::local_player::death_event"> +<polygon fill="lightgrey" stroke="black" points="184.38,-726.1 103.12,-726.1 103.12,-690.1 184.38,-690.1 184.38,-726.1"/> +<text text-anchor="middle" x="143.75" y="-703.05" font-family="Times,serif" font-size="14.00">death_event</text> +</a> +</g> +</g> +<!-- node_System(30) --> +<g id="node38" class="node"> +<title>node_System(30)</title> +<g id="a_node38"><a xlink:title="azalea_client::chat::handle_send_chat_kind_event"> +<polygon fill="lightgrey" stroke="black" points="2798.75,-249.1 2619.25,-249.1 2619.25,-213.1 2798.75,-213.1 2798.75,-249.1"/> +<text text-anchor="middle" x="2709" y="-226.05" font-family="Times,serif" font-size="14.00">handle_send_chat_kind_event</text> +</a> +</g> +</g> +<!-- node_System(4)->node_System(30) --> +<g id="edge10" class="edge"> +<title>node_System(4)->node_System(30)</title> +<g id="a_edge10"><a xlink:title="SystemTypeSet(handle_send_packet_event") → handle_send_chat_kind_event"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M2583.74,-245.68C2591.12,-244.81 2598.66,-243.93 2606.21,-243.04"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="2606.34,-246.2 2615.86,-241.56 2605.52,-239.25 2606.34,-246.2"/> +</a> +</g> +</g> +<!-- node_System(8) --> +<g id="node21" class="node"> +<title>node_System(8)</title> +<g id="a_node21"><a xlink:title="azalea_entity::plugin::relative_updates::add_updates_received"> +<polygon fill="lightgrey" stroke="black" points="211.75,-773.1 75.75,-773.1 75.75,-737.1 211.75,-737.1 211.75,-773.1"/> +<text text-anchor="middle" x="143.75" y="-750.05" font-family="Times,serif" font-size="14.00">add_updates_received</text> +</a> +</g> +</g> +<!-- node_System(9) --> +<g id="node22" class="node"> +<title>node_System(9)</title> +<g id="a_node22"><a xlink:title="azalea_entity::plugin::relative_updates::debug_detect_updates_received_on_local_entities"> +<polygon fill="lightgrey" stroke="black" points="287.5,-820.1 0,-820.1 0,-784.1 287.5,-784.1 287.5,-820.1"/> +<text text-anchor="middle" x="143.75" y="-797.05" font-family="Times,serif" font-size="14.00">debug_detect_updates_received_on_local_entities</text> +</a> +</g> +</g> +<!-- node_System(10) --> +<g id="node23" class="node"> +<title>node_System(10)</title> +<g id="a_node23"><a xlink:title="azalea_entity::plugin::debug_new_entity"> +<polygon fill="lightgrey" stroke="black" points="201.62,-867.1 85.88,-867.1 85.88,-831.1 201.62,-831.1 201.62,-867.1"/> +<text text-anchor="middle" x="143.75" y="-844.05" font-family="Times,serif" font-size="14.00">debug_new_entity</text> +</a> +</g> +</g> +<!-- node_System(11) --> +<g id="node24" class="node"> +<title>node_System(11)</title> +<g id="a_node24"><a xlink:title="azalea_entity::plugin::add_dead"> +<polygon fill="lightgrey" stroke="black" points="177.62,-914.1 109.88,-914.1 109.88,-878.1 177.62,-878.1 177.62,-914.1"/> +<text text-anchor="middle" x="143.75" y="-891.05" font-family="Times,serif" font-size="14.00">add_dead</text> +</a> +</g> +</g> +<!-- node_System(12) --> +<g id="node25" class="node"> +<title>node_System(12)</title> +<g id="a_node25"><a xlink:title="azalea_entity::plugin::clamp_look_direction"> +<polygon fill="lightgrey" stroke="black" points="752.25,-434.1 617,-434.1 617,-398.1 752.25,-398.1 752.25,-434.1"/> +<text text-anchor="middle" x="684.62" y="-411.05" font-family="Times,serif" font-size="14.00">clamp_look_direction</text> +</a> +</g> +</g> +<!-- node_System(12)->node_System(15) --> +<g id="edge3" class="edge"> +<title>node_System(12)->node_System(15)</title> +<g id="a_edge3"><a xlink:title="SystemTypeSet(clamp_look_direction") → handle_force_jump"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M752.7,-416.82C764.54,-416.93 776.76,-417.03 788.25,-417.1 1243.51,-419.85 1790.6,-420.11 1985.13,-420.11"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="1984.97,-423.61 1994.97,-420.11 1984.97,-416.61 1984.97,-423.61"/> +</a> +</g> +</g> +<!-- node_System(33) --> +<g id="node41" class="node"> +<title>node_System(33)</title> +<g id="a_node41"><a xlink:title="azalea_client::interact::update_hit_result_component"> +<polygon fill="lightgrey" stroke="black" points="988.75,-123.1 811.5,-123.1 811.5,-87.1 988.75,-87.1 988.75,-123.1"/> +<text text-anchor="middle" x="900.12" y="-100.05" font-family="Times,serif" font-size="14.00">update_hit_result_component</text> +</a> +</g> +</g> +<!-- node_System(12)->node_System(33) --> +<g id="edge15" class="edge"> +<title>node_System(12)->node_System(33)</title> +<g id="a_edge15"><a xlink:title="SystemTypeSet(clamp_look_direction") → update_hit_result_component"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M687.66,-397.94C693.88,-350.74 716.78,-222.82 788.25,-150.1 796.63,-141.57 806.84,-134.61 817.63,-128.93"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="819.53,-131.95 827.04,-124.47 816.51,-125.63 819.53,-131.95"/> +</a> +</g> +</g> +<!-- node_System(13) --> +<g id="node26" class="node"> +<title>node_System(13)</title> +<g id="a_node26"><a xlink:title="azalea_entity::plugin::update_fluid_on_eyes"> +<polygon fill="lightgrey" stroke="black" points="967.75,-192.1 832.5,-192.1 832.5,-156.1 967.75,-156.1 967.75,-192.1"/> +<text text-anchor="middle" x="900.12" y="-169.05" font-family="Times,serif" font-size="14.00">update_fluid_on_eyes</text> +</a> +</g> +</g> +<!-- node_System(13)->node_System(38) --> +<g id="edge26" class="edge"> +<title>node_System(13)->node_System(38)</title> +<g id="a_edge26"><a xlink:title="SystemTypeSet(update_fluid_on_eyes") → handle_start_mining_block_event"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M961.48,-192.58C1000.66,-204.58 1051.95,-220.28 1093.32,-232.95"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="1092.95,-237.11 1103.53,-236.69 1095,-230.42 1092.95,-237.11"/> +</a> +</g> +</g> +<!-- node_System(13)->node_System(39) --> +<g id="edge34" class="edge"> +<title>node_System(13)->node_System(39)</title> +<g id="a_edge34"><a xlink:title="SystemTypeSet(update_fluid_on_eyes") → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M968.07,-178.17C1044.98,-183.43 1174.79,-194.13 1285.25,-212.1 1319.98,-217.74 1357.87,-225.96 1390.54,-233.7"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="1390.25,-237.71 1400.79,-236.63 1391.88,-230.9 1390.25,-237.71"/> +</a> +</g> +</g> +<!-- node_System(13)->node_System(40) --> +<g id="edge43" class="edge"> +<title>node_System(13)->node_System(40)</title> +<g id="a_edge43"><a xlink:title="SystemTypeSet(update_fluid_on_eyes") → handle_finish_mining_block_event"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M968.22,-172.99C1044.98,-172.3 1174.4,-172.92 1285.25,-182.1 1439.11,-194.84 1476.35,-209.01 1629,-232.1 1636.51,-233.23 1644.24,-234.41 1652.03,-235.61"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="1652.32,-239.5 1662.73,-237.57 1653.38,-232.59 1652.32,-239.5"/> +</a> +</g> +</g> +<!-- node_System(13)->node_System(41) --> +<g id="edge52" class="edge"> +<title>node_System(13)->node_System(41)</title> +<g id="a_edge52"><a xlink:title="SystemTypeSet(update_fluid_on_eyes") → handle_stop_mining_block_event"> +<path fill="none" stroke="#663699" stroke-width="2" d="M968.02,-171.89C993.1,-171.16 1021.86,-170.45 1048,-170.1 1306.26,-166.58 1372.06,-156.79 1629,-183.1 1741.52,-194.61 1869.21,-217.29 1955.84,-234.13"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="1956.09,-238.14 1966.58,-236.62 1957.44,-231.27 1956.09,-238.14"/> +</a> +</g> +</g> +<!-- node_System(15)->node_System(14) --> +<g id="edge4" class="edge"> +<title>node_System(15)->node_System(14)</title> +<g id="a_edge4"><a xlink:title="handle_force_jump → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M2120.2,-413.77C2152.23,-410.4 2192.08,-406.2 2226.73,-402.55"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="2226.66,-405.76 2236.24,-401.23 2225.93,-398.8 2226.66,-405.76"/> +</a> +</g> +</g> +<!-- node_System(16) --> +<g id="node29" class="node"> +<title>node_System(16)</title> +<g id="a_node29"><a xlink:title="azalea_client::events::chat_listener"> +<polygon fill="lightgrey" stroke="black" points="186.25,-961.1 101.25,-961.1 101.25,-925.1 186.25,-925.1 186.25,-961.1"/> +<text text-anchor="middle" x="143.75" y="-938.05" font-family="Times,serif" font-size="14.00">chat_listener</text> +</a> +</g> +</g> +<!-- node_System(17) --> +<g id="node30" class="node"> +<title>node_System(17)</title> +<g id="a_node30"><a xlink:title="azalea_client::events::login_listener"> +<polygon fill="lightgrey" stroke="black" points="188.88,-1008.1 98.62,-1008.1 98.62,-972.1 188.88,-972.1 188.88,-1008.1"/> +<text text-anchor="middle" x="143.75" y="-985.05" font-family="Times,serif" font-size="14.00">login_listener</text> +</a> +</g> +</g> +<!-- node_System(18) --> +<g id="node31" class="node"> +<title>node_System(18)</title> +<g id="a_node31"><a xlink:title="azalea_client::events::packet_listener"> +<polygon fill="lightgrey" stroke="black" points="192.62,-1055.1 94.88,-1055.1 94.88,-1019.1 192.62,-1019.1 192.62,-1055.1"/> +<text text-anchor="middle" x="143.75" y="-1032.05" font-family="Times,serif" font-size="14.00">packet_listener</text> +</a> +</g> +</g> +<!-- node_System(19) --> +<g id="node32" class="node"> +<title>node_System(19)</title> +<g id="a_node32"><a xlink:title="azalea_client::events::add_player_listener"> +<polygon fill="lightgrey" stroke="black" points="205,-1102.1 82.5,-1102.1 82.5,-1066.1 205,-1066.1 205,-1102.1"/> +<text text-anchor="middle" x="143.75" y="-1079.05" font-family="Times,serif" font-size="14.00">add_player_listener</text> +</a> +</g> +</g> +<!-- node_System(20) --> +<g id="node33" class="node"> +<title>node_System(20)</title> +<g id="a_node33"><a xlink:title="azalea_client::events::update_player_listener"> +<polygon fill="lightgrey" stroke="black" points="213.25,-1149.1 74.25,-1149.1 74.25,-1113.1 213.25,-1113.1 213.25,-1149.1"/> +<text text-anchor="middle" x="143.75" y="-1126.05" font-family="Times,serif" font-size="14.00">update_player_listener</text> +</a> +</g> +</g> +<!-- node_System(21) --> +<g id="node34" class="node"> +<title>node_System(21)</title> +<g id="a_node34"><a xlink:title="azalea_client::events::remove_player_listener"> +<polygon fill="lightgrey" stroke="black" points="215.88,-1196.1 71.62,-1196.1 71.62,-1160.1 215.88,-1160.1 215.88,-1196.1"/> +<text text-anchor="middle" x="143.75" y="-1173.05" font-family="Times,serif" font-size="14.00">remove_player_listener</text> +</a> +</g> +</g> +<!-- node_System(23) --> +<g id="node36" class="node"> +<title>node_System(23)</title> +<g id="a_node36"><a xlink:title="azalea_client::events::keepalive_listener"> +<polygon fill="lightgrey" stroke="black" points="200.88,-1243.1 86.62,-1243.1 86.62,-1207.1 200.88,-1207.1 200.88,-1243.1"/> +<text text-anchor="middle" x="143.75" y="-1220.05" font-family="Times,serif" font-size="14.00">keepalive_listener</text> +</a> +</g> +</g> +<!-- node_System(29) --> +<g id="node37" class="node"> +<title>node_System(29)</title> +<g id="a_node37"><a xlink:title="azalea_client::chat::handle_send_chat_event"> +<polygon fill="lightgrey" stroke="black" points="2576.88,-226.1 2428.12,-226.1 2428.12,-190.1 2576.88,-190.1 2576.88,-226.1"/> +<text text-anchor="middle" x="2502.5" y="-203.05" font-family="Times,serif" font-size="14.00">handle_send_chat_event</text> +</a> +</g> +</g> +<!-- node_System(29)->node_System(30) --> +<g id="edge11" class="edge"> +<title>node_System(29)->node_System(30)</title> +<g id="a_edge11"><a xlink:title="handle_send_chat_event → handle_send_chat_kind_event"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M2577.33,-216.4C2586.72,-217.46 2596.45,-218.55 2606.18,-219.64"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="2605.61,-223.44 2615.94,-221.08 2606.39,-216.48 2605.61,-223.44"/> +</a> +</g> +</g> +<!-- node_System(31) --> +<g id="node39" class="node"> +<title>node_System(31)</title> +<g id="a_node39"><a xlink:title="azalea_client::movement::sprint_listener"> +<polygon fill="lightgrey" stroke="black" points="946.75,-515.1 853.5,-515.1 853.5,-479.1 946.75,-479.1 946.75,-515.1"/> +<text text-anchor="middle" x="900.12" y="-492.05" font-family="Times,serif" font-size="14.00">sprint_listener</text> +</a> +</g> +</g> +<!-- node_System(31)->node_System(15) --> +<g id="edge12" class="edge"> +<title>node_System(31)->node_System(15)</title> +<g id="a_edge12"><a xlink:title="sprint_listener → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M947.25,-499.17C1088.84,-504.71 1529.4,-515.85 1888,-459.1 1920.21,-454 1955.41,-446.29 1985.39,-439.08"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="1987.01,-441.79 1995.89,-436.02 1985.34,-434.99 1987.01,-441.79"/> +</a> +</g> +</g> +<!-- node_System(32) --> +<g id="node40" class="node"> +<title>node_System(32)</title> +<g id="a_node40"><a xlink:title="azalea_client::movement::walk_listener"> +<polygon fill="lightgrey" stroke="black" points="1211,-550.1 1122.25,-550.1 1122.25,-514.1 1211,-514.1 1211,-550.1"/> +<text text-anchor="middle" x="1166.62" y="-527.05" font-family="Times,serif" font-size="14.00">walk_listener</text> +</a> +</g> +</g> +<!-- node_System(31)->node_System(32) --> +<g id="edge14" class="edge"> +<title>node_System(31)->node_System(32)</title> +<g id="a_edge14"><a xlink:title="sprint_listener → walk_listener"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M947.2,-503.19C992.21,-509.15 1060.81,-518.23 1109.1,-524.62"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="1108.46,-528.46 1118.84,-526.3 1109.38,-521.52 1108.46,-528.46"/> +</a> +</g> +</g> +<!-- node_System(32)->node_System(15) --> +<g id="edge13" class="edge"> +<title>node_System(32)->node_System(15)</title> +<g id="a_edge13"><a xlink:title="walk_listener → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#881877" stroke-width="2" d="M1211.32,-532.87C1346.89,-534.89 1759.02,-538.09 1888,-505.1 1936.28,-492.75 1986.77,-465.41 2020.08,-445.05"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="2022.05,-447.71 2028.69,-439.45 2018.35,-441.76 2022.05,-447.71"/> +</a> +</g> +</g> +<!-- node_System(32)->node_System(36) --> +<g id="edge22" class="edge"> +<title>node_System(32)->node_System(36)</title> +<g id="a_edge22"><a xlink:title="SystemTypeSet(walk_listener") → update_modifiers_for_held_item"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M1211.21,-538.64C1251.07,-544.62 1311.71,-553.72 1364.71,-561.68"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="1364.89,-565.54 1375.3,-563.56 1365.93,-558.62 1364.89,-565.54"/> +</a> +</g> +</g> +<!-- node_System(33)->node_System(38) --> +<g id="edge27" class="edge"> +<title>node_System(33)->node_System(38)</title> +<g id="a_edge27"><a xlink:title="SystemTypeSet(update_hit_result_component") → handle_start_mining_block_event"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M957.07,-123.52C975.24,-130.61 995.06,-139.57 1012,-150.1 1030.18,-161.4 1030.84,-169.29 1048,-182.1 1071.4,-199.56 1099.08,-216.88 1121.7,-230.27"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="1120.3,-233.67 1130.7,-235.7 1123.83,-227.63 1120.3,-233.67"/> +</a> +</g> +</g> +<!-- node_System(33)->node_System(39) --> +<g id="edge35" class="edge"> +<title>node_System(33)->node_System(39)</title> +<g id="a_edge35"><a xlink:title="SystemTypeSet(update_hit_result_component") → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#881877" stroke-width="2" d="M989.03,-119.13C1067.51,-132.62 1185.17,-155.19 1285.25,-184.1 1331.26,-197.39 1381.99,-216.73 1419.28,-231.87"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="1418.31,-235.07 1428.89,-235.62 1420.96,-228.6 1418.31,-235.07"/> +</a> +</g> +</g> +<!-- node_System(33)->node_System(40) --> +<g id="edge44" class="edge"> +<title>node_System(33)->node_System(40)</title> +<g id="a_edge44"><a xlink:title="SystemTypeSet(update_hit_result_component") → handle_finish_mining_block_event"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M988.9,-114.23C1179.15,-134.07 1613.75,-179.71 1629,-184.1 1666.25,-194.79 1705.62,-214.4 1734.16,-230.3"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="1732.88,-233.74 1743.3,-235.63 1736.33,-227.65 1732.88,-233.74"/> +</a> +</g> +</g> +<!-- node_System(33)->node_System(41) --> +<g id="edge53" class="edge"> +<title>node_System(33)->node_System(41)</title> +<g id="a_edge53"><a xlink:title="SystemTypeSet(update_hit_result_component") → handle_stop_mining_block_event"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M935.88,-86.72C964.93,-72.45 1007.93,-53.84 1048,-46.1 1231.89,-10.54 1715.91,-41.17 1888,-115.1 1947.88,-140.82 2003.41,-194.31 2033.86,-227.22"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="2031.16,-229.67 2040.48,-234.72 2036.35,-224.96 2031.16,-229.67"/> +</a> +</g> +</g> +<!-- node_System(33)->node_System(4) --> +<g id="edge16" class="edge"> +<title>node_System(33)->node_System(4)</title> +<g id="a_edge16"><a xlink:title="update_hit_result_component → SystemTypeSet(handle_send_packet_event")"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M928.4,-86.73C956.87,-68.66 1003.49,-42.08 1048,-30.1 1231.14,19.22 1284.46,-7.1 1474.12,-7.1 1474.12,-7.1 1474.12,-7.1 2060.12,-7.1 2211.65,-7.1 2281.22,1.6 2385.75,-108.1 2422.48,-146.64 2387.09,-185.5 2418.36,-226.92"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="2415.71,-229.47 2424.95,-234.65 2420.95,-224.84 2415.71,-229.47"/> +</a> +</g> +</g> +<!-- node_System(34) --> +<g id="node42" class="node"> +<title>node_System(34)</title> +<g id="a_node42"><a xlink:title="azalea_client::interact::handle_block_interact_event"> +<polygon fill="lightgrey" stroke="black" points="1252.62,-88.1 1080.62,-88.1 1080.62,-52.1 1252.62,-52.1 1252.62,-88.1"/> +<text text-anchor="middle" x="1166.62" y="-65.05" font-family="Times,serif" font-size="14.00">handle_block_interact_event</text> +</a> +</g> +</g> +<!-- node_System(33)->node_System(34) --> +<g id="edge18" class="edge"> +<title>node_System(33)->node_System(34)</title> +<g id="a_edge18"><a xlink:title="update_hit_result_component → handle_block_interact_event"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M989.2,-93.44C1014.27,-90.12 1041.73,-86.49 1067.36,-83.1"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="1067.73,-86.18 1077.18,-81.4 1066.81,-79.24 1067.73,-86.18"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(38) --> +<g id="edge29" class="edge"> +<title>node_System(34)->node_System(38)</title> +<g id="a_edge29"><a xlink:title="SystemTypeSet(handle_block_interact_event") → handle_start_mining_block_event"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M1166.62,-88.52C1166.62,-133.72 1166.62,-178.93 1166.62,-224.13"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="1163.13,-223.88 1166.62,-233.88 1170.13,-223.88 1163.13,-223.88"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(39) --> +<g id="edge37" class="edge"> +<title>node_System(34)->node_System(39)</title> +<g id="a_edge37"><a xlink:title="SystemTypeSet(handle_block_interact_event") → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M1198.13,-88.51C1253.44,-121.89 1370.3,-192.43 1432.74,-230.12"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="1431.37,-233.58 1441.74,-235.76 1434.99,-227.59 1431.37,-233.58"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(40) --> +<g id="edge46" class="edge"> +<title>node_System(34)->node_System(40)</title> +<g id="a_edge46"><a xlink:title="SystemTypeSet(handle_block_interact_event") → handle_finish_mining_block_event"> +<path fill="none" stroke="#881877" stroke-width="2" d="M1252.97,-87.64C1263.92,-90.49 1274.91,-93.65 1285.25,-97.1 1301.86,-102.64 1304.49,-108.02 1321.25,-113.1 1454.07,-153.37 1499.02,-117.43 1629,-166.1 1670.27,-181.55 1712.81,-208.9 1741.35,-229.22"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="1739.42,-232.59 1749.57,-235.62 1743.52,-226.92 1739.42,-232.59"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(41) --> +<g id="edge55" class="edge"> +<title>node_System(34)->node_System(41)</title> +<g id="a_edge55"><a xlink:title="SystemTypeSet(handle_block_interact_event") → handle_stop_mining_block_event"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M1252.93,-77.89C1442.87,-95.26 1884.3,-135.75 1888,-137.1 1943.46,-157.31 1997.78,-200.15 2029.59,-228.27"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="2027.33,-230.74 2037.1,-234.83 2032.01,-225.54 2027.33,-230.74"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(4) --> +<g id="edge17" class="edge"> +<title>node_System(34)->node_System(4)</title> +<g id="a_edge17"><a xlink:title="handle_block_interact_event → SystemTypeSet(handle_send_packet_event")"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M1252.67,-66.22C1370.2,-61.2 1588.9,-53.1 1775.5,-53.1 1775.5,-53.1 1775.5,-53.1 2060.12,-53.1 2239.46,-53.1 2254.61,-167.1 2421.75,-232.1 2421.88,-232.14 2422,-232.19 2422.13,-232.24"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="2421.61,-235.5 2432.2,-235.63 2424,-228.93 2421.61,-235.5"/> +</a> +</g> +</g> +<!-- node_System(34)->node_System(35) --> +<g id="edge20" class="edge"> +<title>node_System(34)->node_System(35)</title> +<g id="a_edge20"><a xlink:title="handle_block_interact_event → handle_swing_arm_event"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M1253.09,-66.99C1389.2,-63.93 1662.84,-65.46 1888,-115.1 2021.04,-144.43 2171.19,-200.46 2250.65,-232.01"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="2249.73,-235.22 2260.31,-235.67 2252.32,-228.71 2249.73,-235.22"/> +</a> +</g> +</g> +<!-- node_System(35)->node_System(4) --> +<g id="edge19" class="edge"> +<title>node_System(35)->node_System(4)</title> +<g id="a_edge19"><a xlink:title="handle_swing_arm_event → SystemTypeSet(handle_send_packet_event")"> +<path fill="none" stroke="#663699" stroke-width="2" d="M2386.19,-255.1C2393.54,-255.1 2401.04,-255.1 2408.51,-255.1"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="2408.46,-258.6 2418.46,-255.1 2408.46,-251.6 2408.46,-258.6"/> +</a> +</g> +</g> +<!-- node_System(37) --> +<g id="node45" class="node"> +<title>node_System(37)</title> +<g id="a_node45"><a xlink:title="azalea_client::respawn::perform_respawn"> +<polygon fill="lightgrey" stroke="black" points="740.62,-667.1 628.62,-667.1 628.62,-631.1 740.62,-631.1 740.62,-667.1"/> +<text text-anchor="middle" x="684.62" y="-644.05" font-family="Times,serif" font-size="14.00">perform_respawn</text> +</a> +</g> +</g> +<!-- node_System(37)->node_System(4) --> +<g id="edge23" class="edge"> +<title>node_System(37)->node_System(4)</title> +<g id="a_edge23"><a xlink:title="perform_respawn → SystemTypeSet(handle_send_packet_event")"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M703.7,-667.39C722.81,-685.37 754.77,-711.69 788.25,-723.1 947.1,-777.2 997.82,-735.1 1165.62,-735.1 1165.62,-735.1 1165.62,-735.1 2060.12,-735.1 2123.52,-735.1 2144.81,-749.92 2202.25,-723.1 2307.18,-674.1 2321.82,-634.66 2385.75,-538.1 2441.13,-454.45 2477.82,-340.07 2493.24,-285.93"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="2497.39,-286.08 2496.7,-275.51 2490.64,-284.21 2497.39,-286.08"/> +</a> +</g> +</g> +<!-- node_System(42) --> +<g id="node46" class="node"> +<title>node_System(42)</title> +<g id="a_node46"><a xlink:title="azalea_client::attack::handle_attack_event"> +<polygon fill="lightgrey" stroke="black" points="963.62,-411.1 836.62,-411.1 836.62,-375.1 963.62,-375.1 963.62,-411.1"/> +<text text-anchor="middle" x="900.12" y="-388.05" font-family="Times,serif" font-size="14.00">handle_attack_event</text> +</a> +</g> +</g> +<!-- node_System(37)->node_System(42) --> +<g id="edge61" class="edge"> +<title>node_System(37)->node_System(42)</title> +<g id="a_edge61"><a xlink:title="SystemTypeSet(perform_respawn") → handle_attack_event"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M703.66,-630.76C718.27,-615.14 738.6,-591.54 752.25,-568.1 774.75,-529.43 761.08,-509.63 788.25,-474.1 805.59,-451.42 830.97,-432.23 853.08,-418.23"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="855.24,-420.79 861.95,-412.59 851.59,-414.82 855.24,-420.79"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(38) --> +<g id="edge28" class="edge"> +<title>node_System(42)->node_System(38)</title> +<g id="a_edge28"><a xlink:title="SystemTypeSet(handle_attack_event") → handle_start_mining_block_event"> +<path fill="none" stroke="#0090cc" stroke-width="2" d="M918.74,-374.91C944.61,-349.34 995.5,-303.22 1048,-279.1 1048.54,-278.85 1049.09,-278.6 1049.64,-278.35"/> +<polygon fill="#0090cc" stroke="#0090cc" stroke-width="2" points="1051.53,-281.56 1059.5,-274.58 1048.92,-275.07 1051.53,-281.56"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(39) --> +<g id="edge36" class="edge"> +<title>node_System(42)->node_System(39)</title> +<g id="a_edge36"><a xlink:title="SystemTypeSet(handle_attack_event") → handle_start_mining_block_with_direction_event"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M910.83,-374.83C930.87,-339.31 980.68,-261.81 1048,-232.1 1098.8,-209.67 1236.22,-221.4 1341.4,-234.97"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="1340.69,-238.8 1351.06,-236.63 1341.6,-231.86 1340.69,-238.8"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(40) --> +<g id="edge45" class="edge"> +<title>node_System(42)->node_System(40)</title> +<g id="a_edge45"><a xlink:title="SystemTypeSet(handle_attack_event") → handle_finish_mining_block_event"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M963.95,-383.41C1090.06,-363.93 1383.04,-318.5 1629,-279.1 1636.51,-277.89 1644.23,-276.65 1652.02,-275.39"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="1653.41,-278.38 1662.73,-273.33 1652.29,-271.47 1653.41,-278.38"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(41) --> +<g id="edge54" class="edge"> +<title>node_System(42)->node_System(41)</title> +<g id="a_edge54"><a xlink:title="SystemTypeSet(handle_attack_event") → handle_stop_mining_block_event"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M964.09,-388.62C1040.26,-382.98 1172.31,-372.53 1285.25,-360.1 1553.92,-330.52 1620.23,-315.97 1888,-279.1 1904.01,-276.89 1920.87,-274.54 1937.49,-272.21"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="1938.73,-275.29 1948.14,-270.44 1937.75,-268.36 1938.73,-275.29"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(14) --> +<g id="edge59" class="edge"> +<title>node_System(42)->node_System(14)</title> +<g id="a_edge59"><a xlink:title="handle_attack_event → SystemTypeSet(update_bounding_box")"> +<path fill="none" stroke="#aa3a55" stroke-width="2" d="M964.04,-404.66C1130.2,-435.52 1571.89,-519.92 1629,-555.1 1650.51,-568.35 1642.17,-588.28 1665,-599.1 1754.56,-641.54 1789.73,-612 1888,-599.1 2031.34,-580.27 2091.16,-607.61 2202.25,-515.1 2224.55,-496.52 2212.29,-478.9 2230.25,-456.1 2240.87,-442.61 2254.94,-430.18 2268.13,-420.05"/> +<polygon fill="#aa3a55" stroke="#aa3a55" stroke-width="2" points="2270.46,-422.2 2276.43,-413.44 2266.31,-416.57 2270.46,-422.2"/> +</a> +</g> +</g> +<!-- node_System(42)->node_System(32) --> +<g id="edge60" class="edge"> +<title>node_System(42)->node_System(32)</title> +<g id="a_edge60"><a xlink:title="handle_attack_event → SystemTypeSet(walk_listener")"> +<path fill="none" stroke="#44d488" stroke-width="2" d="M928.87,-411.55C957.91,-430.47 1005.14,-460.14 1048,-482.1 1067.79,-492.23 1090.11,-502.09 1109.94,-510.34"/> +<polygon fill="#44d488" stroke="#44d488" stroke-width="2" points="1109.35,-513.7 1119.93,-514.26 1112.01,-507.23 1109.35,-513.7"/> +</a> +</g> +</g> +<!-- node_System(43) --> +<g id="node47" class="node"> +<title>node_System(43)</title> +<g id="a_node47"><a xlink:title="azalea::bot::insert_bot"> +<polygon fill="lightgrey" stroke="black" points="178.75,-1290.1 108.75,-1290.1 108.75,-1254.1 178.75,-1254.1 178.75,-1290.1"/> +<text text-anchor="middle" x="143.75" y="-1267.05" font-family="Times,serif" font-size="14.00">insert_bot</text> +</a> +</g> +</g> +<!-- node_System(44) --> +<g id="node48" class="node"> +<title>node_System(44)</title> +<g id="a_node48"><a xlink:title="azalea::bot::look_at_listener"> +<polygon fill="lightgrey" stroke="black" points="503.75,-456.1 400.75,-456.1 400.75,-420.1 503.75,-420.1 503.75,-456.1"/> +<text text-anchor="middle" x="452.25" y="-433.05" font-family="Times,serif" font-size="14.00">look_at_listener</text> +</a> +</g> +</g> +<!-- node_System(44)->node_System(12) --> +<g id="edge63" class="edge"> +<title>node_System(44)->node_System(12)</title> +<g id="a_edge63"><a xlink:title="look_at_listener → SystemTypeSet(clamp_look_direction")"> +<path fill="none" stroke="#663699" stroke-width="2" d="M504.09,-433.24C533.34,-430.45 570.73,-426.88 603.81,-423.72"/> +<polygon fill="#663699" stroke="#663699" stroke-width="2" points="604.1,-426.92 613.73,-422.48 603.44,-419.95 604.1,-426.92"/> +</a> +</g> +</g> +<!-- node_System(44)->node_System(15) --> +<g id="edge62" class="edge"> +<title>node_System(44)->node_System(15)</title> +<g id="a_edge62"><a xlink:title="look_at_listener → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#ee9e44" stroke-width="2" d="M504.14,-438.88C536.47,-439.33 579.19,-439.86 617,-440.1 677.11,-440.46 692.14,-440.56 752.25,-440.1 1222.09,-436.5 1786.93,-425.62 1985.13,-421.61"/> +<polygon fill="#ee9e44" stroke="#ee9e44" stroke-width="2" points="1985,-425.05 1994.93,-421.35 1984.86,-418.05 1985,-425.05"/> +</a> +</g> +</g> +<!-- node_System(45) --> +<g id="node49" class="node"> +<title>node_System(45)</title> +<g id="a_node49"><a xlink:title="azalea::bot::jump_listener"> +<polygon fill="lightgrey" stroke="black" points="1822,-573.1 1731,-573.1 1731,-537.1 1822,-537.1 1822,-573.1"/> +<text text-anchor="middle" x="1776.5" y="-550.05" font-family="Times,serif" font-size="14.00">jump_listener</text> +</a> +</g> +</g> +<!-- node_System(45)->node_System(15) --> +<g id="edge64" class="edge"> +<title>node_System(45)->node_System(15)</title> +<g id="a_edge64"><a xlink:title="jump_listener → SystemTypeSet(handle_force_jump")"> +<path fill="none" stroke="#3363bb" stroke-width="2" d="M1822.39,-547.59C1842.9,-543.29 1867.2,-536.96 1888,-528.1 1938.83,-506.45 1991.68,-470.41 2024.72,-445.98"/> +<polygon fill="#3363bb" stroke="#3363bb" stroke-width="2" points="2026.82,-448.28 2032.72,-439.49 2022.62,-442.68 2026.82,-448.28"/> +</a> +</g> +</g> +<!-- node_System(46) --> +<g id="node50" class="node"> +<title>node_System(46)</title> +<g id="a_node50"><a xlink:title="azalea::pathfinder::goto_listener"> +<polygon fill="lightgrey" stroke="black" points="187,-562.1 100.5,-562.1 100.5,-526.1 187,-526.1 187,-562.1"/> +<text text-anchor="middle" x="143.75" y="-539.05" font-family="Times,serif" font-size="14.00">goto_listener</text> +</a> +</g> +</g> +<!-- node_System(47) --> +<g id="node51" class="node"> +<title>node_System(47)</title> +<g id="a_node51"><a xlink:title="azalea::pathfinder::handle_tasks"> +<polygon fill="lightgrey" stroke="black" points="495.12,-562.1 409.38,-562.1 409.38,-526.1 495.12,-526.1 495.12,-562.1"/> +<text text-anchor="middle" x="452.25" y="-539.05" font-family="Times,serif" font-size="14.00">handle_tasks</text> +</a> +</g> +</g> +<!-- node_System(46)->node_System(47) --> +<g id="edge65" class="edge"> +<title>node_System(46)->node_System(47)</title> +<g id="a_edge65"><a xlink:title="goto_listener → handle_tasks"> +<path fill="none" stroke="#22c2bb" stroke-width="2" d="M187.37,-544.1C241.81,-544.1 336.13,-544.1 396.03,-544.1"/> +<polygon fill="#22c2bb" stroke="#22c2bb" stroke-width="2" points="395.99,-547.6 405.99,-544.1 395.99,-540.6 395.99,-547.6"/> +</a> +</g> +</g> +<!-- node_System(48) --> +<g id="node52" class="node"> +<title>node_System(48)</title> +<g id="a_node52"><a xlink:title="azalea::pathfinder::path_found_listener"> +<polygon fill="lightgrey" stroke="black" points="746.62,-562.1 622.62,-562.1 622.62,-526.1 746.62,-526.1 746.62,-562.1"/> +<text text-anchor="middle" x="684.62" y="-539.05" font-family="Times,serif" font-size="14.00">path_found_listener</text> +</a> +</g> +</g> +<!-- node_System(47)->node_System(48) --> +<g id="edge66" class="edge"> +<title>node_System(47)->node_System(48)</title> +<g id="a_edge66"><a xlink:title="handle_tasks → path_found_listener"> +<path fill="none" stroke="#99d955" stroke-width="2" d="M495.5,-544.1C527.48,-544.1 572.2,-544.1 610.01,-544.1"/> +<polygon fill="#99d955" stroke="#99d955" stroke-width="2" points="609.54,-547.6 619.54,-544.1 609.54,-540.6 609.54,-547.6"/> +</a> +</g> +</g> +<!-- node_System(49) --> +<g id="node53" class="node"> +<title>node_System(49)</title> +<g id="a_node53"><a xlink:title="azalea::pathfinder::stop_pathfinding_on_instance_change"> +<polygon fill="lightgrey" stroke="black" points="1012,-562.1 788.25,-562.1 788.25,-526.1 1012,-526.1 1012,-562.1"/> +<text text-anchor="middle" x="900.12" y="-539.05" font-family="Times,serif" font-size="14.00">stop_pathfinding_on_instance_change</text> +</a> +</g> +</g> +<!-- node_System(48)->node_System(49) --> +<g id="edge68" class="edge"> +<title>node_System(48)->node_System(49)</title> +<g id="a_edge68"><a xlink:title="path_found_listener → stop_pathfinding_on_instance_change"> +<path fill="none" stroke="#881877" stroke-width="2" d="M747.09,-544.1C756,-544.1 765.42,-544.1 775.04,-544.1"/> +<polygon fill="#881877" stroke="#881877" stroke-width="2" points="774.77,-547.6 784.77,-544.1 774.77,-540.6 774.77,-547.6"/> +</a> +</g> +</g> +<!-- node_System(49)->node_System(32) --> +<g id="edge67" class="edge"> +<title>node_System(49)->node_System(32)</title> +<g id="a_edge67"><a xlink:title="stop_pathfinding_on_instance_change → SystemTypeSet(walk_listener")"> +<path fill="none" stroke="#eede00" stroke-width="2" d="M1012.15,-539.06C1045.59,-537.54 1080.89,-535.94 1109.19,-534.66"/> +<polygon fill="#eede00" stroke="#eede00" stroke-width="2" points="1109.25,-538.02 1119.08,-534.07 1108.93,-531.03 1109.25,-538.02"/> +</a> +</g> +</g> +<!-- node_System(50) --> +<g id="node54" class="node"> +<title>node_System(50)</title> +<g id="a_node54"><a xlink:title="azalea::container::handle_menu_opened_event"> +<polygon fill="lightgrey" stroke="black" points="229.38,-1337.1 58.12,-1337.1 58.12,-1301.1 229.38,-1301.1 229.38,-1337.1"/> +<text text-anchor="middle" x="143.75" y="-1314.05" font-family="Times,serif" font-size="14.00">handle_menu_opened_event</text> +</a> +</g> +</g> +<!-- node_System(51)->node_System(37) --> +<g id="edge69" class="edge"> +<title>node_System(51)->node_System(37)</title> +<g id="a_edge69"><a xlink:title="auto_respawn → SystemTypeSet(perform_respawn")"> +<path fill="none" stroke="#00b0cc" stroke-width="2" d="M498.22,-649.1C531.63,-649.1 577.78,-649.1 615.69,-649.1"/> +<polygon fill="#00b0cc" stroke="#00b0cc" stroke-width="2" points="615.19,-652.6 625.19,-649.1 615.19,-645.6 615.19,-652.6"/> +</a> +</g> +</g> +</g> +</svg> |
