diff --git a/src/main/java/ru/octol1ttle/flightassistant/FlightAssistant.java b/src/main/java/ru/octol1ttle/flightassistant/FlightAssistant.java index f6b1a301..9c759bf1 100644 --- a/src/main/java/ru/octol1ttle/flightassistant/FlightAssistant.java +++ b/src/main/java/ru/octol1ttle/flightassistant/FlightAssistant.java @@ -15,6 +15,7 @@ import ru.octol1ttle.flightassistant.alerts.ECAMSoundData; import ru.octol1ttle.flightassistant.commands.ResetAllComputersCommand; import ru.octol1ttle.flightassistant.commands.ResetFaultedComputersCommand; +import ru.octol1ttle.flightassistant.commands.ResetFaultedIndicatorsCommand; import ru.octol1ttle.flightassistant.commands.SetAutoThrustSpeedCommand; import ru.octol1ttle.flightassistant.commands.SwitchDisplayModeCommand; import ru.octol1ttle.flightassistant.computers.ComputerHost; @@ -98,7 +99,9 @@ private static void setupKeycCode() { private static void setupCommand() { ClientCommandRegistrationCallback.EVENT.register((dispatcher, registryAccess) -> { LiteralCommandNode node = dispatcher.register(literal("flightassistant") - .then(literal("toggle").executes(new SwitchDisplayModeCommand())) + .then(literal("toggle").executes( + new SwitchDisplayModeCommand()) + ) .then(literal("speed") .then(argument("targetSpeed", IntegerArgumentType.integer(10, 30)) .executes(new SetAutoThrustSpeedCommand()))) @@ -109,6 +112,9 @@ private static void setupCommand() { .then(literal("faulted") .executes(new ResetFaultedComputersCommand())) ) + .then(literal("indicators") + .executes(new ResetFaultedIndicatorsCommand()) + ) ) ); dispatcher.register(literal("flas").redirect(node)); diff --git a/src/main/java/ru/octol1ttle/flightassistant/HudRenderer.java b/src/main/java/ru/octol1ttle/flightassistant/HudRenderer.java index 91c7ead9..a5cadee2 100644 --- a/src/main/java/ru/octol1ttle/flightassistant/HudRenderer.java +++ b/src/main/java/ru/octol1ttle/flightassistant/HudRenderer.java @@ -116,6 +116,13 @@ public void render(DrawContext context, MinecraftClient mc) { context.getMatrices().pop(); } + public void resetFaulted() { + for (HudComponent component : faulted) { + faulted.remove(component); + components.add(component); + } + } + @Override public void render(DrawContext context, TextRenderer textRenderer) { throw new IllegalStateException(); @@ -123,7 +130,7 @@ public void render(DrawContext context, TextRenderer textRenderer) { @Override public void renderFaulted(DrawContext context, TextRenderer textRenderer) { - + throw new IllegalStateException(); } @Override diff --git a/src/main/java/ru/octol1ttle/flightassistant/commands/ResetFaultedIndicatorsCommand.java b/src/main/java/ru/octol1ttle/flightassistant/commands/ResetFaultedIndicatorsCommand.java new file mode 100644 index 00000000..8e7e1bdf --- /dev/null +++ b/src/main/java/ru/octol1ttle/flightassistant/commands/ResetFaultedIndicatorsCommand.java @@ -0,0 +1,16 @@ +package ru.octol1ttle.flightassistant.commands; + +import com.mojang.brigadier.Command; +import com.mojang.brigadier.context.CommandContext; +import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource; +import ru.octol1ttle.flightassistant.HudRenderer; + +public class ResetFaultedIndicatorsCommand implements Command { + @Override + public int run(CommandContext context) { + if (HudRenderer.INSTANCE != null) { + HudRenderer.INSTANCE.resetFaulted(); + } + return 0; + } +}