From 500374888041f6cd64b6b983f27cd41248aea360 Mon Sep 17 00:00:00 2001 From: Shiewk Date: Sun, 25 May 2025 15:15:07 +0200 Subject: [PATCH] Add option to hide in singleplayer to several widgets --- .../java/de/shiewk/widgets/WidgetUtils.java | 5 + .../widgets/widgets/BandwidthWidget.java | 6 + .../widgets/widgets/BasicTextWidget.java | 2 + .../de/shiewk/widgets/widgets/PingWidget.java | 12 +- .../widgets/widgets/PlayerCountWidget.java | 8 +- .../widgets/widgets/ServerIPWidget.java | 8 +- .../resources/assets/widgets/lang/de_de.json | 135 +++++++++--------- .../resources/assets/widgets/lang/en_us.json | 135 +++++++++--------- 8 files changed, 173 insertions(+), 138 deletions(-) diff --git a/src/main/java/de/shiewk/widgets/WidgetUtils.java b/src/main/java/de/shiewk/widgets/WidgetUtils.java index 9e88000..34c45e7 100644 --- a/src/main/java/de/shiewk/widgets/WidgetUtils.java +++ b/src/main/java/de/shiewk/widgets/WidgetUtils.java @@ -1,5 +1,7 @@ package de.shiewk.widgets; +import net.minecraft.client.MinecraftClient; + import java.util.function.BooleanSupplier; public class WidgetUtils { @@ -18,5 +20,8 @@ public class WidgetUtils { return 1d - Math.pow(1d - x, 3.5d); } + public static boolean isInSingleplayer(){ + return MinecraftClient.getInstance().isInSingleplayer(); + } } diff --git a/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java b/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java index 978051c..1df03cf 100644 --- a/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/BandwidthWidget.java @@ -1,6 +1,7 @@ package de.shiewk.widgets.widgets; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.WidgetUtils; import de.shiewk.widgets.widgets.settings.EnumWidgetSetting; import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import net.minecraft.client.MinecraftClient; @@ -44,6 +45,7 @@ public class BandwidthWidget extends BasicTextWidget { public BandwidthWidget(Identifier id) { super(id, List.of( new ToggleWidgetSetting("dynamic_color", Text.translatable("widgets.widgets.bandwidth.dynamicColor"), true), + new ToggleWidgetSetting("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false), new EnumWidgetSetting<>("unit", Text.translatable("widgets.widgets.bandwidth.unit"), Unit.class, Unit.KB, unit -> Text.literal(unit.name)) )); getSettings().optionById("textcolor").setShowCondition(() -> !this.dynamicColor); @@ -51,10 +53,13 @@ public class BandwidthWidget extends BasicTextWidget { private int t = 0; private boolean dynamicColor = false; + private boolean hideInSingleplayer = false; private Unit unit = Unit.KB; @Override public void tickWidget() { + shouldRender = !(hideInSingleplayer && WidgetUtils.isInSingleplayer()); + if (!shouldRender) return; float tickRate = 20f; MinecraftClient client = MinecraftClient.getInstance(); if (client.world != null) { @@ -96,6 +101,7 @@ public class BandwidthWidget extends BasicTextWidget { public void onSettingsChanged(WidgetSettings settings) { super.onSettingsChanged(settings); this.dynamicColor = ((ToggleWidgetSetting) settings.optionById("dynamic_color")).getValue(); + this.hideInSingleplayer = ((ToggleWidgetSetting) settings.optionById("hide_in_singleplayer")).getValue(); this.unit = (Unit) ((EnumWidgetSetting) settings.optionById("unit")).getValue(); } diff --git a/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java b/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java index 3d7fcbb..589ac0c 100644 --- a/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/BasicTextWidget.java @@ -36,6 +36,7 @@ public abstract class BasicTextWidget extends ModWidget { } protected Text renderText = Text.empty(); + protected boolean shouldRender = true; private int textX = 0; private int textY = 0; private int padding = 0; @@ -82,6 +83,7 @@ public abstract class BasicTextWidget extends ModWidget { @Override public void render(DrawContext context, long n, TextRenderer textRenderer, int posX, int posY) { + if (!shouldRender) return; MatrixStack matrices = context.getMatrices(); if (size != 1f){ matrices.push(); diff --git a/src/main/java/de/shiewk/widgets/widgets/PingWidget.java b/src/main/java/de/shiewk/widgets/widgets/PingWidget.java index 95b58dd..37430d9 100644 --- a/src/main/java/de/shiewk/widgets/widgets/PingWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/PingWidget.java @@ -1,6 +1,7 @@ package de.shiewk.widgets.widgets; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.WidgetUtils; import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; @@ -13,17 +14,23 @@ import java.util.List; public class PingWidget extends BasicTextWidget { - long lastPingQuery = 0; public PingWidget(Identifier id) { super(id, List.of( - new ToggleWidgetSetting("dynamic_color", Text.translatable("widgets.widgets.ping.dynamicColor"), true) + new ToggleWidgetSetting("dynamic_color", Text.translatable("widgets.widgets.ping.dynamicColor"), true), + new ToggleWidgetSetting("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false) )); getSettings().optionById("textcolor").setShowCondition(() -> !this.dynamicColor); } + private boolean dynamicColor = false; + private boolean hideInSingleplayer = false; + + long lastPingQuery = 0; @Override public void tickWidget() { + shouldRender = !(hideInSingleplayer && WidgetUtils.isInSingleplayer()); + if (!shouldRender) return; final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler(); if (networkHandler != null){ if (lastPingQuery < Util.getMeasuringTimeMs() - 5000){ @@ -63,6 +70,7 @@ public class PingWidget extends BasicTextWidget { public void onSettingsChanged(WidgetSettings settings) { super.onSettingsChanged(settings); this.dynamicColor = ((ToggleWidgetSetting) settings.optionById("dynamic_color")).getValue(); + this.hideInSingleplayer = ((ToggleWidgetSetting) settings.optionById("hide_in_singleplayer")).getValue(); } @Override diff --git a/src/main/java/de/shiewk/widgets/widgets/PlayerCountWidget.java b/src/main/java/de/shiewk/widgets/widgets/PlayerCountWidget.java index 4df3dcd..25cd47a 100644 --- a/src/main/java/de/shiewk/widgets/widgets/PlayerCountWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/PlayerCountWidget.java @@ -1,6 +1,7 @@ package de.shiewk.widgets.widgets; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.WidgetUtils; import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayNetworkHandler; @@ -12,14 +13,18 @@ import java.util.List; public class PlayerCountWidget extends BasicTextWidget{ public PlayerCountWidget(Identifier id) { super(id, List.of( - new ToggleWidgetSetting("showlabel", Text.translatable("widgets.widgets.common.showLabel"), true) + new ToggleWidgetSetting("showlabel", Text.translatable("widgets.widgets.common.showLabel"), true), + new ToggleWidgetSetting("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false) )); } private boolean showLabel = true; + private boolean hideInSingleplayer = false; @Override public void tickWidget() { + shouldRender = !(hideInSingleplayer && WidgetUtils.isInSingleplayer()); + if (!shouldRender) return; final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler(); String online = networkHandler == null ? "?" : String.valueOf(networkHandler.getPlayerUuids().size()); this.renderText = showLabel ? Text.literal(Text.translatable("widgets.widgets.playerCount.online", online).getString()) : Text.literal(online); @@ -38,6 +43,7 @@ public class PlayerCountWidget extends BasicTextWidget{ @Override public void onSettingsChanged(WidgetSettings settings) { showLabel = ((ToggleWidgetSetting) settings.optionById("showlabel")).getValue(); + hideInSingleplayer = ((ToggleWidgetSetting) settings.optionById("hide_in_singleplayer")).getValue(); super.onSettingsChanged(settings); } } diff --git a/src/main/java/de/shiewk/widgets/widgets/ServerIPWidget.java b/src/main/java/de/shiewk/widgets/widgets/ServerIPWidget.java index f246031..77d27b8 100644 --- a/src/main/java/de/shiewk/widgets/widgets/ServerIPWidget.java +++ b/src/main/java/de/shiewk/widgets/widgets/ServerIPWidget.java @@ -1,6 +1,7 @@ package de.shiewk.widgets.widgets; import de.shiewk.widgets.WidgetSettings; +import de.shiewk.widgets.WidgetUtils; import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ServerInfo; @@ -12,7 +13,8 @@ import java.util.List; public class ServerIPWidget extends BasicTextWidget { public ServerIPWidget(Identifier id) { super(id, List.of( - new ToggleWidgetSetting("dynamicwidth", Text.translatable("widgets.widgets.serverIP.dynamicWidth"), true) + new ToggleWidgetSetting("dynamicwidth", Text.translatable("widgets.widgets.serverIP.dynamicWidth"), true), + new ToggleWidgetSetting("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false) )); getSettings().optionById("width").setShowCondition(() -> !this.dynamicWidth); } @@ -21,9 +23,12 @@ public class ServerIPWidget extends BasicTextWidget { private int t = 0; private boolean dynamicWidth = true; + private boolean hideInSingleplayer = false; @Override public void tickWidget() { + shouldRender = !(this.hideInSingleplayer && WidgetUtils.isInSingleplayer()); + if (!shouldRender) return; final ServerInfo serverEntry = MinecraftClient.getInstance().getCurrentServerEntry(); if (serverEntry != null){ this.renderText = Text.of(serverEntry.address); @@ -56,5 +61,6 @@ public class ServerIPWidget extends BasicTextWidget { public void onSettingsChanged(WidgetSettings settings) { super.onSettingsChanged(settings); this.dynamicWidth = ((ToggleWidgetSetting) settings.optionById("dynamicwidth")).getValue(); + this.hideInSingleplayer = ((ToggleWidgetSetting) settings.optionById("hide_in_singleplayer")).getValue(); } } diff --git a/src/main/resources/assets/widgets/lang/de_de.json b/src/main/resources/assets/widgets/lang/de_de.json index 932c14b..2e7cb75 100644 --- a/src/main/resources/assets/widgets/lang/de_de.json +++ b/src/main/resources/assets/widgets/lang/de_de.json @@ -1,98 +1,99 @@ { + "widgets.key.category": "Widgets", + "widgets.key.config": "Öffne Widget-Einstellungen", "widgets.ui.config": "Widgets-Konfiguration", - "widgets.ui.editPositions": "Layout bearbeiten", - "widgets.widgets.fps": "FPS", - "widgets.widgets.fps.description": "Zeigt deine aktuellen FPS an.", "widgets.ui.disabled": "Deaktiviert", + "widgets.ui.editPositions": "Layout bearbeiten", + "widgets.ui.editPositions.snap": "Positionen ausrichten: %s", + "widgets.ui.editPositions.snap.help": "Richtet die Position des Widgets mit Positionen der anderen Widgets aus", "widgets.ui.enabled": "Aktiviert", - "widgets.ui.search": "Suchen...", - "widgets.widgets.clock": "Uhr/Datum", - "widgets.widgets.clock.description": "Zeigt die aktuelle Uhrzeit und/oder das Datum an", - "widgets.ui.widgetSettings": "Bearbeite %s Einstellungen", - "widgets.widgets.basictext.background": "Hintergrundfarbe", - "widgets.widgets.basictext.textcolor": "Textfarbe", "widgets.ui.preview": "Vorschau", + "widgets.ui.search": "Suchen...", + "widgets.ui.widgetSettings": "Bearbeite %s Einstellungen", + "widgets.widgets.bandwidth": "Bandbreite", + "widgets.widgets.bandwidth.description": "Zeigt, wie viele Daten an den aktuell Server gesendet werden/vom Server an den Klient gesendet werden.", + "widgets.widgets.bandwidth.dynamicColor": "Farbe dynamisch anzeigen", + "widgets.widgets.bandwidth.unit": "Einheit", + "widgets.widgets.basictext.alignment": "Text Ausrichtung", + "widgets.widgets.basictext.alignment.center": "Mitte", + "widgets.widgets.basictext.alignment.left": "Links", + "widgets.widgets.basictext.alignment.right": "Rechts", + "widgets.widgets.basictext.background": "Hintergrundfarbe", + "widgets.widgets.basictext.height": "Widget Höhe", + "widgets.widgets.basictext.padding": "Textabstand", + "widgets.widgets.basictext.paddingX": "Textabstand X", + "widgets.widgets.basictext.paddingY": "Textabstand Y", + "widgets.widgets.basictext.textcolor": "Textfarbe", + "widgets.widgets.basictext.textshadow": "Textschatten", + "widgets.widgets.basictext.width": "Widget Breite", + "widgets.widgets.biome": "Biom", + "widgets.widgets.biome.description": "Zeigt das Biom an, in dem du dich befindest.", + "widgets.widgets.biome.label": "Biom: %s", + "widgets.widgets.clock": "Uhr/Datum", + "widgets.widgets.clock.dateFormat": "Datumsformat", + "widgets.widgets.clock.dateFormat.none": "Kein Datum", + "widgets.widgets.clock.description": "Zeigt die aktuelle Uhrzeit und/oder das Datum an", "widgets.widgets.clock.hourFormat": "Stundenformat", - "widgets.widgets.clock.hourFormat.none": "Keine Zeitangabe", "widgets.widgets.clock.hourFormat.24hour": "24-Stunden-Zeit", "widgets.widgets.clock.hourFormat.am_pm": "AM/PM", - "widgets.widgets.clock.dateFormat.none": "Kein Datum", - "widgets.widgets.clock.dateFormat": "Datumsformat", - "widgets.widgets.clock.weekFormat.none": "Nicht anzeigen", - "widgets.widgets.clock.weekFormat": "Wochentagformat", + "widgets.widgets.clock.hourFormat.none": "Keine Zeitangabe", "widgets.widgets.clock.showSeconds": "Sekunden anzeigen", + "widgets.widgets.clock.weekFormat": "Wochentagformat", + "widgets.widgets.clock.weekFormat.none": "Nicht anzeigen", + "widgets.widgets.common.hideInSingleplayer": "In Einzelspielerwelten verbergen", + "widgets.widgets.common.showLabel": "Beschriftung anzeigen", + "widgets.widgets.common.sizePercent": "Widgetgröße (%)", "widgets.widgets.coordinates": "Koordinaten", "widgets.widgets.coordinates.description": "Zeigt deine aktuellen Koordinaten an", "widgets.widgets.coordinates.showX": "X-Koordinate anzeigen:", "widgets.widgets.coordinates.showY": "Y-Koordinate anzeigen:", "widgets.widgets.coordinates.showZ": "Z-Koordinate anzeigen:", - "widgets.widgets.bandwidth": "Bandbreite", - "widgets.widgets.bandwidth.description": "Zeigt, wie viele Daten an den aktuell Server gesendet werden/vom Server an den Klient gesendet werden.", - "widgets.widgets.ping": "Ping", - "widgets.widgets.ping.description": "Zeigt deine Latenz zum Server an", - "widgets.widgets.bandwidth.dynamicColor": "Farbe dynamisch anzeigen", - "widgets.widgets.ping.dynamicColor": "Farbe dynamisch anzeigen", - "widgets.widgets.serverIP": "Server-IP", - "widgets.widgets.serverIP.description": "Zeigt die Serveradresse an", - "widgets.widgets.playerCount": "Spieleranzahl", - "widgets.widgets.playerCount.description": "Zeigt die Anzahl der online Spieler an. Dies könnte auf manchen Servern ungenau sein (besonders auf Servern, die gefälschte Spieler in der Tab-Liste anzeigen)", - "widgets.widgets.playerCount.online": "%s online", - "widgets.key.config": "Öffne Widget-Einstellungen", - "widgets.key.category": "Widgets", "widgets.widgets.cps": "CPS", - "widgets.widgets.cps.description": "Zeigt deine Klicks pro Sekunde an", - "widgets.widgets.cps.left": "Zeigt/Zählt Links-Klicks", - "widgets.widgets.cps.middle": "Zeigt/Zählt Mittel-Klicks", - "widgets.widgets.cps.right": "Zeigt/Zählt Rechts-Klicks", "widgets.widgets.cps.appearance": "Erscheinungsbild", "widgets.widgets.cps.appearance.pipe": "Getrennt (Senkrechter Strich)", "widgets.widgets.cps.appearance.slash": "Getrennt (Schrägstrich)", "widgets.widgets.cps.appearance.unified": "Vereinheitlicht", - "widgets.ui.editPositions.snap": "Positionen ausrichten: %s", - "widgets.ui.editPositions.snap.help": "Richtet die Position des Widgets mit Positionen der anderen Widgets aus", - "widgets.widgets.basictext.width": "Widget Breite", - "widgets.widgets.basictext.height": "Widget Höhe", - "widgets.widgets.basictext.alignment": "Text Ausrichtung", - "widgets.widgets.basictext.alignment.left": "Links", - "widgets.widgets.basictext.alignment.center": "Mitte", - "widgets.widgets.basictext.alignment.right": "Rechts", - "widgets.widgets.basictext.padding": "Textabstand", - "widgets.widgets.basictext.paddingX": "Textabstand X", - "widgets.widgets.basictext.paddingY": "Textabstand Y", - "widgets.widgets.playtime": "Spielzeit", - "widgets.widgets.playtime.description": "Zeigt die Spielzeit der aktuellen Sitzung an.", - "widgets.widgets.playtime.playtime": "Spielzeit: %s", - "widgets.widgets.playtime.played": "%s gespielt", - "widgets.widgets.playtime.labelStyle": "Beschriftungsstil", - "widgets.widgets.playtime.labelStyle.none": "Keine Beschriftung", - "widgets.widgets.playtime.labelStyle.playtime": "Spielzeit: Zeit", - "widgets.widgets.playtime.labelStyle.played": "Zeit gespielt", - "widgets.widgets.memory": "Arbeitsspeicher", - "widgets.widgets.memory.description": "Zeigt die momentane Arbeitsspeicherauslastung des Spiels an.", - "widgets.widgets.memory.withLabel": "Arbeitsspeicher: %s", - "widgets.widgets.memory.showPercentage": "Prozentsatz anzeigen", - "widgets.widgets.serverIP.dynamicWidth": "Widget-Breite dynamisch festlegen", - "widgets.widgets.keystrokes.showJumpKey": "Sprungtaste anzeigen", - "widgets.widgets.common.sizePercent": "Widgetgröße (%)", + "widgets.widgets.cps.description": "Zeigt deine Klicks pro Sekunde an", + "widgets.widgets.cps.left": "Zeigt/Zählt Links-Klicks", + "widgets.widgets.cps.middle": "Zeigt/Zählt Mittel-Klicks", + "widgets.widgets.cps.right": "Zeigt/Zählt Rechts-Klicks", + "widgets.widgets.fps": "FPS", + "widgets.widgets.fps.description": "Zeigt deine aktuellen FPS an.", + "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.colorBackgroundPressed": "Hintergrundfarbe (Taste gedrückt)", "widgets.widgets.keystrokes.colorBackgroundUnpressed": "Hintergrundfarbe (Taste nicht gedrückt)", "widgets.widgets.keystrokes.colorKeyPressed": "Farbe der Taste (gedrückt)", "widgets.widgets.keystrokes.colorKeyUnpressed": "Farbe der Taste (nicht gedrückt)", - "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.description": "Zeigt an, welche Tasten du momentan drückst.", - "widgets.widgets.basictext.textshadow": "Textschatten", + "widgets.widgets.keystrokes.showJumpKey": "Sprungtaste anzeigen", + "widgets.widgets.memory": "Arbeitsspeicher", + "widgets.widgets.memory.description": "Zeigt die momentane Arbeitsspeicherauslastung des Spiels an.", + "widgets.widgets.memory.showPercentage": "Prozentsatz anzeigen", + "widgets.widgets.memory.withLabel": "Arbeitsspeicher: %s", + "widgets.widgets.ping": "Ping", + "widgets.widgets.ping.description": "Zeigt deine Latenz zum Server an", + "widgets.widgets.ping.dynamicColor": "Farbe dynamisch anzeigen", "widgets.widgets.plaintext": "Text", "widgets.widgets.plaintext.description": "Zeigt einen festgelegten Text an", - "widgets.widgets.plaintext.text": "Text", "widgets.widgets.plaintext.initial": "Ändere dies in den Widget-Einstellungen", "widgets.widgets.plaintext.placeholder": "Gib hier deinen Text ein...", - "widgets.widgets.tps.tps": "%s TPS", - "widgets.widgets.tps.dynamicColor": "Farbe dynamisch anzeigen", + "widgets.widgets.plaintext.text": "Text", + "widgets.widgets.playerCount": "Spieleranzahl", + "widgets.widgets.playerCount.description": "Zeigt die Anzahl der online Spieler an. Dies könnte auf manchen Servern ungenau sein (besonders auf Servern, die gefälschte Spieler in der Tab-Liste anzeigen)", + "widgets.widgets.playerCount.online": "%s online", + "widgets.widgets.playtime": "Spielzeit", + "widgets.widgets.playtime.description": "Zeigt die Spielzeit der aktuellen Sitzung an.", + "widgets.widgets.playtime.labelStyle": "Beschriftungsstil", + "widgets.widgets.playtime.labelStyle.none": "Keine Beschriftung", + "widgets.widgets.playtime.labelStyle.played": "Zeit gespielt", + "widgets.widgets.playtime.labelStyle.playtime": "Spielzeit: Zeit", + "widgets.widgets.playtime.played": "%s gespielt", + "widgets.widgets.playtime.playtime": "Spielzeit: %s", + "widgets.widgets.serverIP": "Server-IP", + "widgets.widgets.serverIP.description": "Zeigt die Serveradresse an", + "widgets.widgets.serverIP.dynamicWidth": "Widget-Breite dynamisch festlegen", "widgets.widgets.tps": "TPS", "widgets.widgets.tps.description": "Zeigt die TPS im Einzelspielermodus an oder schätzt die TPS im Mehrspielermodus", - "widgets.widgets.biome.label": "Biom: %s", - "widgets.widgets.biome": "Biom", - "widgets.widgets.biome.description": "Zeigt das Biom an, in dem du dich befindest.", - "widgets.widgets.common.showLabel": "Beschriftung anzeigen", - "widgets.widgets.bandwidth.unit": "Einheit" + "widgets.widgets.tps.dynamicColor": "Farbe dynamisch anzeigen", + "widgets.widgets.tps.tps": "%s TPS" } \ No newline at end of file diff --git a/src/main/resources/assets/widgets/lang/en_us.json b/src/main/resources/assets/widgets/lang/en_us.json index 4327431..ec08e77 100644 --- a/src/main/resources/assets/widgets/lang/en_us.json +++ b/src/main/resources/assets/widgets/lang/en_us.json @@ -1,98 +1,99 @@ { + "widgets.key.category": "Widgets", + "widgets.key.config": "Open Widget Management", "widgets.ui.config": "Widgets Config", - "widgets.ui.editPositions": "Edit Layout", - "widgets.widgets.fps": "FPS", - "widgets.widgets.fps.description": "Shows your current FPS.", "widgets.ui.disabled": "Disabled", + "widgets.ui.editPositions": "Edit Layout", + "widgets.ui.editPositions.snap": "Align positions: %s", + "widgets.ui.editPositions.snap.help": "Aligns the widget with positions of other widgets", "widgets.ui.enabled": "Enabled", - "widgets.ui.search": "Search...", - "widgets.widgets.clock": "Clock/Date", - "widgets.widgets.clock.description": "Shows the current time and/or date", - "widgets.ui.widgetSettings": "Edit %s settings", - "widgets.widgets.basictext.background": "Background color", - "widgets.widgets.basictext.textcolor": "Text color", "widgets.ui.preview": "Preview", + "widgets.ui.search": "Search...", + "widgets.ui.widgetSettings": "Edit %s settings", + "widgets.widgets.bandwidth": "Bandwidth", + "widgets.widgets.bandwidth.description": "Shows how much data is being read/sent from the server you're connected to.", + "widgets.widgets.bandwidth.dynamicColor": "Dynamic Color", + "widgets.widgets.bandwidth.unit": "Unit", + "widgets.widgets.basictext.alignment": "Text alignment", + "widgets.widgets.basictext.alignment.center": "Center", + "widgets.widgets.basictext.alignment.left": "Left", + "widgets.widgets.basictext.alignment.right": "Right", + "widgets.widgets.basictext.background": "Background color", + "widgets.widgets.basictext.height": "Widget height", + "widgets.widgets.basictext.padding": "Text padding", + "widgets.widgets.basictext.paddingX": "Text padding X", + "widgets.widgets.basictext.paddingY": "Text padding Y", + "widgets.widgets.basictext.textcolor": "Text color", + "widgets.widgets.basictext.textshadow": "Text shadow", + "widgets.widgets.basictext.width": "Widget width", + "widgets.widgets.biome": "Biome", + "widgets.widgets.biome.description": "Shows the biome you're currently in.", + "widgets.widgets.biome.label": "Biome: %s", + "widgets.widgets.clock": "Clock/Date", + "widgets.widgets.clock.dateFormat": "Date format", + "widgets.widgets.clock.dateFormat.none": "No date", + "widgets.widgets.clock.description": "Shows the current time and/or date", "widgets.widgets.clock.hourFormat": "Hour Format", - "widgets.widgets.clock.hourFormat.none": "No time", "widgets.widgets.clock.hourFormat.24hour": "Military Time", "widgets.widgets.clock.hourFormat.am_pm": "AM/PM", - "widgets.widgets.clock.dateFormat.none": "No date", - "widgets.widgets.clock.dateFormat": "Date format", - "widgets.widgets.clock.weekFormat.none": "Don't show", - "widgets.widgets.clock.weekFormat": "Day of week format", + "widgets.widgets.clock.hourFormat.none": "No time", "widgets.widgets.clock.showSeconds": "Show seconds", + "widgets.widgets.clock.weekFormat": "Day of week format", + "widgets.widgets.clock.weekFormat.none": "Don't show", + "widgets.widgets.common.hideInSingleplayer": "Hide in singleplayer worlds", + "widgets.widgets.common.showLabel": "Show label", + "widgets.widgets.common.sizePercent": "Widget size (%)", "widgets.widgets.coordinates": "Coordinates", "widgets.widgets.coordinates.description": "Shows your current coordinates", "widgets.widgets.coordinates.showX": "Show X coordinate:", "widgets.widgets.coordinates.showY": "Show Y coordinate:", "widgets.widgets.coordinates.showZ": "Show Z coordinate:", - "widgets.widgets.bandwidth": "Bandwidth", - "widgets.widgets.bandwidth.description": "Shows how much data is being read/sent from the server you're connected to.", - "widgets.widgets.ping": "Ping", - "widgets.widgets.ping.description": "Shows your latency to the server", - "widgets.widgets.bandwidth.dynamicColor": "Dynamic Color", - "widgets.widgets.ping.dynamicColor": "Dynamic Color", - "widgets.widgets.serverIP": "Server IP", - "widgets.widgets.serverIP.description": "Shows the server address", - "widgets.widgets.playerCount": "Player count", - "widgets.widgets.playerCount.description": "Shows the number of players online. May not be accurate on all servers (especially those that spawn fake players in the tab list)", - "widgets.widgets.playerCount.online": "%s online", - "widgets.key.config": "Open Widget Management", - "widgets.key.category": "Widgets", "widgets.widgets.cps": "CPS", - "widgets.widgets.cps.description": "Shows your clicks per second", - "widgets.widgets.cps.left": "Display/Count left clicks", - "widgets.widgets.cps.middle": "Display/Count middle clicks", - "widgets.widgets.cps.right": "Display/Count right clicks", "widgets.widgets.cps.appearance": "Appearance", "widgets.widgets.cps.appearance.pipe": "Split (Pipe)", "widgets.widgets.cps.appearance.slash": "Split (Slash)", "widgets.widgets.cps.appearance.unified": "Unified", - "widgets.ui.editPositions.snap": "Align positions: %s", - "widgets.ui.editPositions.snap.help": "Aligns the widget with positions of other widgets", - "widgets.widgets.basictext.width": "Widget width", - "widgets.widgets.basictext.height": "Widget height", - "widgets.widgets.basictext.alignment": "Text alignment", - "widgets.widgets.basictext.alignment.left": "Left", - "widgets.widgets.basictext.alignment.center": "Center", - "widgets.widgets.basictext.alignment.right": "Right", - "widgets.widgets.basictext.padding": "Text padding", - "widgets.widgets.basictext.paddingX": "Text padding X", - "widgets.widgets.basictext.paddingY": "Text padding Y", - "widgets.widgets.playtime": "Playtime", - "widgets.widgets.playtime.description": "Shows the current session's uptime", - "widgets.widgets.playtime.playtime": "Playtime: %s", - "widgets.widgets.playtime.played": "%s played", - "widgets.widgets.playtime.labelStyle": "Label Style", - "widgets.widgets.playtime.labelStyle.none": "No label", - "widgets.widgets.playtime.labelStyle.playtime": "Playtime: Time", - "widgets.widgets.playtime.labelStyle.played": "Time played", - "widgets.widgets.memory": "Memory usage", - "widgets.widgets.memory.description": "Shows the current memory usage of the game.", - "widgets.widgets.memory.withLabel": "Memory: %s", - "widgets.widgets.memory.showPercentage": "Show percentage", - "widgets.widgets.serverIP.dynamicWidth": "Dynamically set widget width", - "widgets.widgets.keystrokes.showJumpKey": "Show Jump Key", - "widgets.widgets.common.sizePercent": "Widget size (%)", + "widgets.widgets.cps.description": "Shows your clicks per second", + "widgets.widgets.cps.left": "Display/Count left clicks", + "widgets.widgets.cps.middle": "Display/Count middle clicks", + "widgets.widgets.cps.right": "Display/Count right clicks", + "widgets.widgets.fps": "FPS", + "widgets.widgets.fps.description": "Shows your current FPS.", + "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.colorBackgroundPressed": "Background color (key pressed)", "widgets.widgets.keystrokes.colorBackgroundUnpressed": "Background color (key not pressed)", "widgets.widgets.keystrokes.colorKeyPressed": "Key color (pressed)", "widgets.widgets.keystrokes.colorKeyUnpressed": "Key color (not pressed)", - "widgets.widgets.keystrokes": "Keystrokes", "widgets.widgets.keystrokes.description": "Shows which keys you are currently pressing.", - "widgets.widgets.basictext.textshadow": "Text shadow", + "widgets.widgets.keystrokes.showJumpKey": "Show Jump Key", + "widgets.widgets.memory": "Memory usage", + "widgets.widgets.memory.description": "Shows the current memory usage of the game.", + "widgets.widgets.memory.showPercentage": "Show percentage", + "widgets.widgets.memory.withLabel": "Memory: %s", + "widgets.widgets.ping": "Ping", + "widgets.widgets.ping.description": "Shows your latency to the server", + "widgets.widgets.ping.dynamicColor": "Dynamic Color", "widgets.widgets.plaintext": "Text", "widgets.widgets.plaintext.description": "Input a text to display on screen", - "widgets.widgets.plaintext.text": "Text", "widgets.widgets.plaintext.initial": "Change this in the widget settings", "widgets.widgets.plaintext.placeholder": "Type your text here...", - "widgets.widgets.tps.tps": "%s TPS", - "widgets.widgets.tps.dynamicColor": "Dynamic Color", + "widgets.widgets.plaintext.text": "Text", + "widgets.widgets.playerCount": "Player count", + "widgets.widgets.playerCount.description": "Shows the number of players online. May not be accurate on all servers (especially those that spawn fake players in the tab list)", + "widgets.widgets.playerCount.online": "%s online", + "widgets.widgets.playtime": "Playtime", + "widgets.widgets.playtime.description": "Shows the current session's uptime", + "widgets.widgets.playtime.labelStyle": "Label Style", + "widgets.widgets.playtime.labelStyle.none": "No label", + "widgets.widgets.playtime.labelStyle.played": "Time played", + "widgets.widgets.playtime.labelStyle.playtime": "Playtime: Time", + "widgets.widgets.playtime.played": "%s played", + "widgets.widgets.playtime.playtime": "Playtime: %s", + "widgets.widgets.serverIP": "Server IP", + "widgets.widgets.serverIP.description": "Shows the server address", + "widgets.widgets.serverIP.dynamicWidth": "Dynamically set widget width", "widgets.widgets.tps": "TPS", "widgets.widgets.tps.description": "Shows the current TPS when in singleplayer or estimates server TPS when in multiplayer", - "widgets.widgets.biome.label": "Biome: %s", - "widgets.widgets.biome": "Biome", - "widgets.widgets.biome.description": "Shows the biome you're currently in.", - "widgets.widgets.common.showLabel": "Show label", - "widgets.widgets.bandwidth.unit": "Unit" + "widgets.widgets.tps.dynamicColor": "Dynamic Color", + "widgets.widgets.tps.tps": "%s TPS" } \ No newline at end of file