Compare commits
No commits in common. "6f5dc4bcff79de8c10e9ab156b062a39b3556054" and "e81fab7bf8cd9da9d526be9131f6170a2a83f09f" have entirely different histories.
6f5dc4bcff
...
e81fab7bf8
@ -6,7 +6,7 @@ use crate::{
|
|||||||
particle,
|
particle,
|
||||||
replay::recorder::Recorder,
|
replay::recorder::Recorder,
|
||||||
};
|
};
|
||||||
use anyhow::{Context, Result};
|
use anyhow::Context;
|
||||||
use azalea::{
|
use azalea::{
|
||||||
brigadier::exceptions::BuiltInExceptions::DispatcherUnknownCommand, prelude::*,
|
brigadier::exceptions::BuiltInExceptions::DispatcherUnknownCommand, prelude::*,
|
||||||
protocol::packets::game::ClientboundGamePacket,
|
protocol::packets::game::ClientboundGamePacket,
|
||||||
@ -20,7 +20,7 @@ use std::net::SocketAddr;
|
|||||||
use tokio::net::TcpListener;
|
use tokio::net::TcpListener;
|
||||||
|
|
||||||
#[allow(clippy::too_many_lines)]
|
#[allow(clippy::too_many_lines)]
|
||||||
pub async fn handle_event(client: Client, event: Event, state: State) -> Result<()> {
|
pub async fn handle_event(client: Client, event: Event, state: State) -> anyhow::Result<()> {
|
||||||
match event {
|
match event {
|
||||||
Event::AddPlayer(player_info) => {
|
Event::AddPlayer(player_info) => {
|
||||||
call_listeners(&state, "add_player", Player::from(player_info)).await;
|
call_listeners(&state, "add_player", Player::from(player_info)).await;
|
||||||
@ -178,11 +178,12 @@ pub async fn handle_event(client: Client, event: Event, state: State) -> Result<
|
|||||||
debug!("received initialize event");
|
debug!("received initialize event");
|
||||||
|
|
||||||
let globals = state.lua.globals();
|
let globals = state.lua.globals();
|
||||||
let ecs = client.ecs.clone();
|
let lua_ecs = client.ecs.clone();
|
||||||
globals.set(
|
globals.set(
|
||||||
"finish_replay_recording",
|
"finish_replay_recording",
|
||||||
state.lua.create_function_mut(move |_, (): ()| {
|
state.lua.create_function_mut(move |_, (): ()| {
|
||||||
ecs.lock()
|
lua_ecs
|
||||||
|
.lock()
|
||||||
.remove_resource::<Recorder>()
|
.remove_resource::<Recorder>()
|
||||||
.context("recording not active")
|
.context("recording not active")
|
||||||
.map_err(Error::external)?
|
.map_err(Error::external)?
|
||||||
|
@ -22,13 +22,13 @@ pub struct RecordPlugin {
|
|||||||
impl Plugin for RecordPlugin {
|
impl Plugin for RecordPlugin {
|
||||||
fn build(&self, app: &mut bevy_app::App) {
|
fn build(&self, app: &mut bevy_app::App) {
|
||||||
if let Some(recorder) = self.recorder.lock().take() {
|
if let Some(recorder) = self.recorder.lock().take() {
|
||||||
app.insert_resource(recorder)
|
app.insert_resource(recorder);
|
||||||
.add_systems(First, record_login_packets.before(process_packet_events))
|
}
|
||||||
|
app.add_systems(First, record_login_packets.before(process_packet_events))
|
||||||
.add_systems(First, record_configuration_packets)
|
.add_systems(First, record_configuration_packets)
|
||||||
.add_systems(First, record_game_packets.before(send_packet_events));
|
.add_systems(First, record_game_packets.before(send_packet_events));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
fn record_login_packets(
|
fn record_login_packets(
|
||||||
recorder: Option<ResMut<Recorder>>,
|
recorder: Option<ResMut<Recorder>>,
|
||||||
|
@ -41,7 +41,7 @@ impl Recorder {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pub fn finish(mut self) -> Result<()> {
|
pub fn finish(mut self) -> Result<()> {
|
||||||
let elapsed = self.start.elapsed().as_millis();
|
let elapsed = self.start.elapsed();
|
||||||
|
|
||||||
self.zip_writer
|
self.zip_writer
|
||||||
.start_file("metaData.json", SimpleFileOptions::default())?;
|
.start_file("metaData.json", SimpleFileOptions::default())?;
|
||||||
@ -49,8 +49,8 @@ impl Recorder {
|
|||||||
json!({
|
json!({
|
||||||
"singleplayer": false,
|
"singleplayer": false,
|
||||||
"serverName": self.server,
|
"serverName": self.server,
|
||||||
"duration": elapsed,
|
"duration": elapsed.as_millis(),
|
||||||
"date": SystemTime::now().duration_since(UNIX_EPOCH)?.as_millis() - elapsed,
|
"date": (SystemTime::now().duration_since(UNIX_EPOCH)? - elapsed).as_millis(),
|
||||||
"mcversion": VERSION_NAME,
|
"mcversion": VERSION_NAME,
|
||||||
"fileFormat": "MCPR",
|
"fileFormat": "MCPR",
|
||||||
"fileFormatVersion": 14,
|
"fileFormatVersion": 14,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user