Compare commits

..

2 Commits

4 changed files with 377 additions and 277 deletions

619
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -3,7 +3,7 @@
pub mod anti_knockback;
use anti_knockback::anti_knockback;
use azalea::{movement::handle_knockback, packet_handling::game::process_packet_events};
use azalea::{movement::handle_knockback, packet::game::process_packet_events};
use bevy_app::{App, Plugin, PreUpdate};
use bevy_ecs::schedule::IntoSystemConfigs;

View File

@ -1,6 +1,6 @@
use azalea::inventory::{
self,
components::{CustomName, Damage, Food, MaxDamage},
components::{Consumable, CustomName, Damage, Food, MaxDamage},
};
use mlua::{UserData, UserDataFields, UserDataMethods};
@ -32,6 +32,24 @@ impl UserData for ItemStack {
.map(|data| data.components.get::<MaxDamage>().map(|d| d.amount)))
});
f.add_field_method_get("consumable", |lua, this| {
Ok(
if let Some(consumable) = this
.0
.as_present()
.and_then(|data| data.components.get::<Consumable>())
{
let table = lua.create_table()?;
table.set("animation", consumable.animation as u8)?;
table.set("consume_seconds", consumable.consume_seconds)?;
table.set("has_consume_particles", consumable.has_consume_particles)?;
Some(table)
} else {
None
},
)
});
f.add_field_method_get("food", |lua, this| {
Ok(
if let Some(food) = this

View File

@ -3,9 +3,9 @@
use super::recorder::Recorder;
use azalea::{
ecs::{event::EventReader, system::Query},
packet_handling::{
configuration::ConfigurationEvent,
game::send_packet_events,
packet::{
config::ReceiveConfigPacketEvent,
game::emit_receive_packet_events,
login::{LoginPacketEvent, process_packet_events},
},
protocol::packets::login::ClientboundLoginPacket,
@ -27,7 +27,10 @@ impl Plugin for RecordPlugin {
app.insert_resource(recorder)
.add_systems(First, record_login_packets.before(process_packet_events))
.add_systems(First, record_configuration_packets)
.add_systems(First, record_game_packets.before(send_packet_events));
.add_systems(
First,
record_game_packets.before(emit_receive_packet_events),
);
}
}
}
@ -53,7 +56,7 @@ fn record_login_packets(
fn record_configuration_packets(
recorder: Option<ResMut<Recorder>>,
mut events: EventReader<ConfigurationEvent>,
mut events: EventReader<ReceiveConfigPacketEvent>,
) {
if let Some(mut recorder) = recorder {
for event in events.read() {