Skip to content

Commit

Permalink
[PlaybackSerialiser] Rewrite DesyncMonitor as file command extension
Browse files Browse the repository at this point in the history
- Move DesyncMonitoring to DesyncMonitorFileCommandExtension
- Move Monitor to Utils
- Remove seed value from DesyncMonitor
- Registering new FileCommand in TASmodClient
  • Loading branch information
ScribbleTAS committed Jun 25, 2024
1 parent f805a28 commit 1219a22
Show file tree
Hide file tree
Showing 9 changed files with 192 additions and 203 deletions.
11 changes: 10 additions & 1 deletion src/main/java/com/minecrafttas/tasmod/TASmodClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
import com.minecrafttas.tasmod.networking.TASmodPackets;
import com.minecrafttas.tasmod.playback.PlaybackControllerClient;
import com.minecrafttas.tasmod.playback.PlaybackControllerClient.TASstate;
import com.minecrafttas.tasmod.playback.filecommands.PlaybackFileCommand.PlaybackFileCommandExtension;
import com.minecrafttas.tasmod.playback.filecommands.integrated.DesyncMonitorFileCommandExtension;
import com.minecrafttas.tasmod.playback.metadata.integrated.CreditsMetadataExtension;
import com.minecrafttas.tasmod.playback.metadata.integrated.StartpositionMetadataExtension;
import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser;
Expand Down Expand Up @@ -166,12 +168,13 @@ private void registerEventListeners() {
EventListenerRegistry.register(creditsMetadataExtension);
EventListenerRegistry.register(startpositionMetadataExtension);
}

@Override
public void onClientInit(Minecraft mc) {
registerKeybindings(mc);
registerPlaybackMetadata(mc);
registerSerialiserFlavors(mc);
registerFileCommands();

createTASDir();
createSavestatesDir();
Expand Down Expand Up @@ -296,6 +299,12 @@ private void registerSerialiserFlavors(Minecraft mc) {
TASmodRegistry.SERIALISER_FLAVOR.register(betaFlavor);
}

public static PlaybackFileCommandExtension desyncMonitorFileCommandExtension = new DesyncMonitorFileCommandExtension();

private void registerFileCommands() {
TASmodRegistry.PLAYBACK_FILE_COMMAND.register(desyncMonitorFileCommandExtension);
}

private void loadConfig(Minecraft mc) {
File configDir = new File(mc.mcDataDir, "config");
if(!configDir.exists()) {
Expand Down
18 changes: 4 additions & 14 deletions src/main/java/com/minecrafttas/tasmod/gui/InfoHud.java
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,9 @@
import com.minecrafttas.tasmod.TASmod;
import com.minecrafttas.tasmod.TASmodClient;
import com.minecrafttas.tasmod.events.EventClient.EventDrawHotbar;
import com.minecrafttas.tasmod.monitoring.DesyncMonitoring;
import com.minecrafttas.tasmod.playback.ControlByteHandler;
import com.minecrafttas.tasmod.playback.PlaybackControllerClient.TASstate;
import com.minecrafttas.tasmod.playback.filecommands.integrated.DesyncMonitorFileCommandExtension;
import com.mojang.realmsclient.gui.ChatFormatting;

import net.minecraft.client.Minecraft;
Expand Down Expand Up @@ -373,7 +373,7 @@ public boolean checkInit() {
if (configuration.getProperty(title + "_x", "err").equals("err")) setDefaults(title, y);
lists.add(new InfoLabel(title, Integer.parseInt(configuration.getProperty(title + "_x")), Integer.parseInt(configuration.getProperty(title + "_y")), Boolean.parseBoolean(configuration.getProperty(title + "_visible")), Boolean.parseBoolean(configuration.getProperty(title + "_rect")), () -> {
if (Minecraft.getMinecraft().currentScreen == this) return "Desync";
DesyncMonitoring dMonitor=TASmodClient.controller.desyncMonitor;
DesyncMonitorFileCommandExtension dMonitor=TASmodClient.controller.desyncMonitor;
return dMonitor.getStatus(Minecraft.getMinecraft().player);
}));

Expand All @@ -382,7 +382,7 @@ public boolean checkInit() {
if (configuration.getProperty(title + "_x", "err").equals("err")) setDefaults(title, y);
lists.add(new InfoLabel(title, Integer.parseInt(configuration.getProperty(title + "_x")), Integer.parseInt(configuration.getProperty(title + "_y")), Boolean.parseBoolean(configuration.getProperty(title + "_visible")), Boolean.parseBoolean(configuration.getProperty(title + "_rect")), () -> {
if (Minecraft.getMinecraft().currentScreen == this) return "Desync Motion";
DesyncMonitoring dMonitor=TASmodClient.controller.desyncMonitor;
DesyncMonitorFileCommandExtension dMonitor=TASmodClient.controller.desyncMonitor;
return dMonitor.getMotion();
}));

Expand All @@ -391,20 +391,10 @@ public boolean checkInit() {
if (configuration.getProperty(title + "_x", "err").equals("err")) setDefaults(title, y);
lists.add(new InfoLabel(title, Integer.parseInt(configuration.getProperty(title + "_x")), Integer.parseInt(configuration.getProperty(title + "_y")), Boolean.parseBoolean(configuration.getProperty(title + "_visible")), Boolean.parseBoolean(configuration.getProperty(title + "_rect")), () -> {
if (Minecraft.getMinecraft().currentScreen == this) return "Desync Position";
DesyncMonitoring dMonitor=TASmodClient.controller.desyncMonitor;
DesyncMonitorFileCommandExtension dMonitor=TASmodClient.controller.desyncMonitor;
return dMonitor.getPos();
}));

y += 14;
title = "ktrng_desync";
if (configuration.getProperty(title + "_x", "err").equals("err")) setDefaults(title, y);
lists.add(new InfoLabel(title, Integer.parseInt(configuration.getProperty(title + "_x")), Integer.parseInt(configuration.getProperty(title + "_y")), Boolean.parseBoolean(configuration.getProperty(title + "_visible")), Boolean.parseBoolean(configuration.getProperty(title + "_rect")), () -> {
if (Minecraft.getMinecraft().currentScreen == this) return "Desync KTRNG";
DesyncMonitoring dMonitor=TASmodClient.controller.desyncMonitor;
return dMonitor.getSeed();
}));


y = height - 28;
title = "playback_index";
if (configuration.getProperty(title + "_x", "err").equals("err")) setDefaults(title, y, true);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,9 @@
import com.minecrafttas.tasmod.events.EventPlaybackClient.EventPlaybackJoinedWorld;
import com.minecrafttas.tasmod.events.EventPlaybackClient.EventPlaybackTick;
import com.minecrafttas.tasmod.events.EventPlaybackClient.EventRecordTick;
import com.minecrafttas.tasmod.monitoring.DesyncMonitoring;
import com.minecrafttas.tasmod.networking.TASmodBufferBuilder;
import com.minecrafttas.tasmod.networking.TASmodPackets;
import com.minecrafttas.tasmod.playback.filecommands.integrated.DesyncMonitorFileCommandExtension;
import com.minecrafttas.tasmod.playback.metadata.PlaybackMetadata;
import com.minecrafttas.tasmod.playback.tasfile.PlaybackSerialiser;
import com.minecrafttas.tasmod.playback.tasfile.flavor.SerialiserFlavorBase;
Expand Down Expand Up @@ -124,7 +124,7 @@ public class PlaybackControllerClient implements ClientPacketHandler, EventClien
*/
private Map<Integer, List<Pair<String, String[]>>> controlBytes = new HashMap<Integer, List<Pair<String, String[]>>>(); // TODO Replace with TASFile extension

public DesyncMonitoring desyncMonitor = new DesyncMonitoring(this); // TODO Replace with TASFile extension
public DesyncMonitorFileCommandExtension desyncMonitor = new DesyncMonitorFileCommandExtension(); // TODO Replace with TASFile extension

private long startSeed = TASmod.ktrngHandler.getGlobalSeedClient(); // TODO Replace with Metadata extension

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,7 @@ public static abstract class PlaybackFileCommandExtension {

public abstract String name();

public String[] getFileCommandNames() {
return new String[] {};
}
public abstract String[] getFileCommandNames();

public void onEnable() {
};
Expand All @@ -71,11 +69,11 @@ public void onRecord(long tick, TickContainer tickContainer) {
public void onPlayback(long tick, TickContainer tickContainer) {
};

protected PlaybackFileCommandContainer onSerialiseInlineComment(long tick, TickContainer tickContainer) {
public PlaybackFileCommandContainer onSerialiseInlineComment(long tick, TickContainer tickContainer) {
return null;
}

protected PlaybackFileCommandContainer onSerialiseEndlineComment(long currentTick, TickContainer tickContainer) {
public PlaybackFileCommandContainer onSerialiseEndlineComment(long currentTick, TickContainer tickContainer) {
return null;
}

Expand Down

This file was deleted.

Loading

0 comments on commit 1219a22

Please sign in to comment.