From 86c5c5270fc76a47ea1e69276debcf5efce150c5 Mon Sep 17 00:00:00 2001 From: Scribble Date: Mon, 1 Jul 2024 23:33:36 +0200 Subject: [PATCH] [PlaybackSerialiser] Fixed FileCommmands#onRecord() not being called - Enabled DesyncMonitorFileCommandExtension by default --- .../tasmod/playback/PlaybackControllerClient.java | 7 +++++-- .../PlaybackFileCommandsRegistry.java | 15 ++++++++++----- .../DesyncMonitorFileCommandExtension.java | 6 +++++- .../playback/tasfile/PlaybackSerialiser2.java | 2 +- .../playback/tasfile/PlaybackSerialiserTest.java | 2 +- 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/minecrafttas/tasmod/playback/PlaybackControllerClient.java b/src/main/java/com/minecrafttas/tasmod/playback/PlaybackControllerClient.java index b4136cc5..590feb2f 100644 --- a/src/main/java/com/minecrafttas/tasmod/playback/PlaybackControllerClient.java +++ b/src/main/java/com/minecrafttas/tasmod/playback/PlaybackControllerClient.java @@ -42,6 +42,7 @@ import com.minecrafttas.tasmod.networking.TASmodBufferBuilder; import com.minecrafttas.tasmod.networking.TASmodPackets; import com.minecrafttas.tasmod.playback.metadata.PlaybackMetadata; +import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser; import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser2; import com.minecrafttas.tasmod.playback.tasfile.exception.PlaybackLoadException; import com.minecrafttas.tasmod.playback.tasfile.exception.PlaybackSaveException; @@ -800,8 +801,10 @@ public void onClientPacket(PacketID id, ByteBuffer buf, String username) throws try { TASmodClient.controller.setInputs(PlaybackSerialiser2.loadFromFile(new File(directory, name + ".mctas"), flavor)); } catch (PlaybackLoadException e) { - if (mc.world != null) - mc.ingameGUI.getChatGUI().printChatMessage(new TextComponentString(TextFormatting.RED + e.getMessage())); + if (mc.world != null) { + TextComponentString textComponent = new TextComponentString(e.getMessage()); + mc.ingameGUI.getChatGUI().printChatMessage(textComponent); + } LOGGER.catching(e); return; } catch (Exception e) { diff --git a/src/main/java/com/minecrafttas/tasmod/playback/filecommands/PlaybackFileCommandsRegistry.java b/src/main/java/com/minecrafttas/tasmod/playback/filecommands/PlaybackFileCommandsRegistry.java index 1f7f4fe4..72d9d860 100644 --- a/src/main/java/com/minecrafttas/tasmod/playback/filecommands/PlaybackFileCommandsRegistry.java +++ b/src/main/java/com/minecrafttas/tasmod/playback/filecommands/PlaybackFileCommandsRegistry.java @@ -36,6 +36,7 @@ public void register(PlaybackFileCommandExtension extension) { } REGISTRY.put(extension.name(), extension); + enabledExtensions = getEnabled(); } @Override @@ -86,16 +87,20 @@ public List getEnabled() { } @Override - public void onPlaybackTick(long index, TickContainer container) { + public void onRecordTick(long index, TickContainer container) { enabledExtensions.forEach(extension -> { - extension.onRecord(index, container); + if(extension.isEnabled()) { + extension.onRecord(index, container); + } }); } - + @Override - public void onRecordTick(long index, TickContainer container) { + public void onPlaybackTick(long index, TickContainer container) { enabledExtensions.forEach(extension -> { - extension.onPlayback(index, container); + if(extension.isEnabled()) { + extension.onPlayback(index, container); + } }); } diff --git a/src/main/java/com/minecrafttas/tasmod/playback/filecommands/integrated/DesyncMonitorFileCommandExtension.java b/src/main/java/com/minecrafttas/tasmod/playback/filecommands/integrated/DesyncMonitorFileCommandExtension.java index 8dc2f8c7..734cc32b 100644 --- a/src/main/java/com/minecrafttas/tasmod/playback/filecommands/integrated/DesyncMonitorFileCommandExtension.java +++ b/src/main/java/com/minecrafttas/tasmod/playback/filecommands/integrated/DesyncMonitorFileCommandExtension.java @@ -12,7 +12,6 @@ import com.minecrafttas.tasmod.TASmod; import com.minecrafttas.tasmod.TASmodClient; import com.minecrafttas.tasmod.events.EventPlaybackClient; -import com.minecrafttas.tasmod.playback.PlaybackControllerClient; import com.minecrafttas.tasmod.playback.PlaybackControllerClient.TASstate; import com.minecrafttas.tasmod.playback.PlaybackControllerClient.TickContainer; import com.minecrafttas.tasmod.playback.filecommands.PlaybackFileCommand; @@ -38,6 +37,10 @@ public class DesyncMonitorFileCommandExtension extends PlaybackFileCommandExtens private MonitorContainer currentValues; + public DesyncMonitorFileCommandExtension() { + enabled = true; + } + @Override public String name() { return "tasmod_desyncMonitoring@v1"; @@ -93,6 +96,7 @@ public void onDeserialiseEndlineComment(long tick, TickContainer container, Play List commandsEndline = fileCommandContainer.get("desyncMonitor"); if (commandsEndline == null || commandsEndline.isEmpty()) { recordNull(tick); + return; } PlaybackFileCommand command = commandsEndline.get(0); diff --git a/src/main/java/com/minecrafttas/tasmod/playback/tasfile/PlaybackSerialiser2.java b/src/main/java/com/minecrafttas/tasmod/playback/tasfile/PlaybackSerialiser2.java index bcbd4081..f8883745 100644 --- a/src/main/java/com/minecrafttas/tasmod/playback/tasfile/PlaybackSerialiser2.java +++ b/src/main/java/com/minecrafttas/tasmod/playback/tasfile/PlaybackSerialiser2.java @@ -163,7 +163,7 @@ public static SerialiserFlavorBase searchForFlavor(List lines, List