mirror of
https://github.com/Shiewk/Widgets.git
synced 2026-04-28 11:34:17 +02:00
Add different text styles (#3)
This commit is contained in:
@@ -12,6 +12,8 @@ import net.minecraft.util.profiler.MultiValueDebugSampleLogImpl;
|
||||
import java.util.List;
|
||||
import java.util.function.LongFunction;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class BandwidthWidget extends BasicTextWidget {
|
||||
|
||||
public enum Unit {
|
||||
@@ -46,7 +48,7 @@ public class BandwidthWidget extends BasicTextWidget {
|
||||
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))
|
||||
new EnumWidgetSetting<>("unit", Text.translatable("widgets.widgets.bandwidth.unit"), Unit.class, Unit.KB, unit -> literal(unit.name))
|
||||
));
|
||||
getSettings().optionById("textcolor").setShowCondition(() -> !this.dynamicColor);
|
||||
}
|
||||
@@ -65,7 +67,7 @@ public class BandwidthWidget extends BasicTextWidget {
|
||||
if (t >= tickRate){
|
||||
t = 0;
|
||||
long avgBytesPerSecond = getAvgBytesPerSecond(MinecraftClient.getInstance(), tickRate);
|
||||
this.renderText = Text.of(unit.sizeFormatter.apply(avgBytesPerSecond));
|
||||
formatAndSetRenderText(literal(unit.sizeFormatter.apply(avgBytesPerSecond)));
|
||||
if (this.dynamicColor){
|
||||
if (avgBytesPerSecond < 100000){
|
||||
this.textColor = 0xff00ff00;
|
||||
|
||||
@@ -14,6 +14,9 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.List;
|
||||
import java.util.function.UnaryOperator;
|
||||
|
||||
import static net.minecraft.text.Text.*;
|
||||
|
||||
public abstract class BasicTextWidget extends ResizableWidget {
|
||||
|
||||
@@ -28,12 +31,34 @@ public abstract class BasicTextWidget extends ResizableWidget {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public Text text(){
|
||||
return Text.translatable("widgets.widgets.basictext.alignment." + key);
|
||||
public Text displayText(){
|
||||
return translatable("widgets.widgets.basictext.alignment." + key);
|
||||
}
|
||||
}
|
||||
|
||||
protected Text renderText = Text.empty();
|
||||
public enum TextStyle {
|
||||
PLAIN("plain", UnaryOperator.identity()),
|
||||
SQUARE_BRACKETS("squareBrackets", t -> surround("[", t, "]")),
|
||||
PARENTHESES("parentheses", t -> surround("(", t, ")"));
|
||||
|
||||
public final String key;
|
||||
public final UnaryOperator<Text> operator;
|
||||
|
||||
TextStyle(String key, UnaryOperator<Text> operator) {
|
||||
this.key = key;
|
||||
this.operator = operator;
|
||||
}
|
||||
|
||||
public Text displayText(){
|
||||
return translatable("widgets.widgets.basictext.style." + key);
|
||||
}
|
||||
|
||||
public static Text surround(String prefix, Text subject, String suffix){
|
||||
return literal(prefix).append(subject).append(literal(suffix));
|
||||
}
|
||||
}
|
||||
|
||||
protected Text renderText = empty();
|
||||
protected boolean shouldRender = true;
|
||||
private int textX = 0;
|
||||
private int textY = 0;
|
||||
@@ -43,13 +68,14 @@ public abstract class BasicTextWidget extends ResizableWidget {
|
||||
|
||||
private static ObjectArrayList<WidgetSettingOption> getCustomSettings(List<WidgetSettingOption> otherCustomOptions) {
|
||||
final ObjectArrayList<WidgetSettingOption> list = new ObjectArrayList<>(otherCustomOptions);
|
||||
list.add(new RGBAColorWidgetSetting("backgroundcolor", Text.translatable("widgets.widgets.basictext.background"), 0, 0, 0, 80));
|
||||
list.add(new RGBAColorWidgetSetting("textcolor", Text.translatable("widgets.widgets.basictext.textcolor"), 255, 255, 255, 255));
|
||||
list.add(new IntSliderWidgetSetting("width", Text.translatable("widgets.widgets.basictext.width"), 10, DEFAULT_WIDTH, 80*3));
|
||||
list.add(new IntSliderWidgetSetting("height", Text.translatable("widgets.widgets.basictext.height"), 9, DEFAULT_HEIGHT, 80));
|
||||
list.add(new ToggleWidgetSetting("shadow", Text.translatable("widgets.widgets.basictext.textshadow"), true));
|
||||
list.add(new EnumWidgetSetting<>("alignment", Text.translatable("widgets.widgets.basictext.alignment"), TextAlignment.class, TextAlignment.CENTER, TextAlignment::text));
|
||||
list.add(new IntSliderWidgetSetting("padding", Text.translatable("widgets.widgets.basictext.padding"), 0, 5, 20));
|
||||
list.add(new RGBAColorWidgetSetting("backgroundcolor", translatable("widgets.widgets.basictext.background"), 0, 0, 0, 80));
|
||||
list.add(new RGBAColorWidgetSetting("textcolor", translatable("widgets.widgets.basictext.textcolor"), 255, 255, 255, 255));
|
||||
list.add(new IntSliderWidgetSetting("width", translatable("widgets.widgets.basictext.width"), 10, DEFAULT_WIDTH, 80*3));
|
||||
list.add(new IntSliderWidgetSetting("height", translatable("widgets.widgets.basictext.height"), 9, DEFAULT_HEIGHT, 80));
|
||||
list.add(new ToggleWidgetSetting("shadow", translatable("widgets.widgets.basictext.textshadow"), true));
|
||||
list.add(new EnumWidgetSetting<>("alignment", translatable("widgets.widgets.basictext.alignment"), TextAlignment.class, TextAlignment.CENTER, TextAlignment::displayText));
|
||||
list.add(new IntSliderWidgetSetting("padding", translatable("widgets.widgets.basictext.padding"), 0, 5, 20));
|
||||
list.add(new EnumWidgetSetting<>("text_style", translatable("widgets.widgets.basictext.textstyle"), TextStyle.class, TextStyle.PLAIN, TextStyle::displayText));
|
||||
return list;
|
||||
}
|
||||
protected BasicTextWidget(Identifier id, List<WidgetSettingOption> otherCustomOptions) {
|
||||
@@ -65,6 +91,7 @@ public abstract class BasicTextWidget extends ResizableWidget {
|
||||
|
||||
protected int backgroundColor = DEFAULT_BACKGROUND_COLOR, textColor = DEFAULT_TEXT_COLOR, width = DEFAULT_WIDTH, height = DEFAULT_HEIGHT;
|
||||
protected TextAlignment textAlignment = TextAlignment.CENTER;
|
||||
protected TextStyle textStyle = TextStyle.PLAIN;
|
||||
|
||||
@Override
|
||||
public int width() {
|
||||
@@ -98,6 +125,14 @@ public abstract class BasicTextWidget extends ResizableWidget {
|
||||
textY = (height-9) / 2;
|
||||
}
|
||||
|
||||
protected void formatAndSetRenderText(Text renderText) {
|
||||
if (textStyle != TextStyle.PLAIN){
|
||||
this.renderText = textStyle.operator.apply(renderText);
|
||||
} else {
|
||||
this.renderText = renderText;
|
||||
}
|
||||
}
|
||||
|
||||
public abstract void tickWidget();
|
||||
|
||||
@Override
|
||||
@@ -110,5 +145,6 @@ public abstract class BasicTextWidget extends ResizableWidget {
|
||||
this.textAlignment = (TextAlignment) ((EnumWidgetSetting<?>) settings.optionById("alignment")).getValue();
|
||||
this.padding = ((IntSliderWidgetSetting) settings.optionById("padding")).getValue();
|
||||
this.textShadow = ((ToggleWidgetSetting) settings.optionById("shadow")).getValue();
|
||||
this.textStyle = (TextStyle) ((EnumWidgetSetting<?>) settings.optionById("text_style")).getValue();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,11 +12,14 @@ import net.minecraft.world.biome.Biome;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
public class BiomeWidget extends BasicTextWidget {
|
||||
|
||||
public BiomeWidget(Identifier id) {
|
||||
super(id, List.of(
|
||||
new ToggleWidgetSetting("show_label", Text.translatable("widgets.widgets.common.showLabel"), true)
|
||||
new ToggleWidgetSetting("show_label", translatable("widgets.widgets.common.showLabel"), true)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -34,19 +37,19 @@ public class BiomeWidget extends BasicTextWidget {
|
||||
String text = biome.getKeyOrValue().map(
|
||||
(biomeKey) -> {
|
||||
if (showLabel){
|
||||
return Text.translatable("widgets.widgets.biome.label", Text.translatable(biomeKey.getValue().toTranslationKey("biome"))).getString();
|
||||
return translatable("widgets.widgets.biome.label", translatable(biomeKey.getValue().toTranslationKey("biome"))).getString();
|
||||
} else {
|
||||
return Text.translatable(biomeKey.getValue().toTranslationKey("biome")).getString();
|
||||
return translatable(biomeKey.getValue().toTranslationKey("biome")).getString();
|
||||
}
|
||||
},
|
||||
(b) -> "[unregistered " + b + "]"
|
||||
);
|
||||
this.renderText = Text.literal(text);
|
||||
formatAndSetRenderText(literal(text));
|
||||
} else {
|
||||
if (showLabel){
|
||||
this.renderText = Text.translatable("widgets.widgets.biome.label", "?");
|
||||
formatAndSetRenderText(translatable("widgets.widgets.biome.label", "?"));
|
||||
} else {
|
||||
this.renderText = Text.literal("?");
|
||||
formatAndSetRenderText(literal("?"));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -54,12 +57,12 @@ public class BiomeWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.biome");
|
||||
return translatable("widgets.widgets.biome");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.biome.description");
|
||||
return translatable("widgets.widgets.biome.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -11,6 +11,8 @@ import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class CPSWidget extends BasicTextWidget {
|
||||
|
||||
public static class Click {
|
||||
@@ -100,13 +102,10 @@ public class CPSWidget extends BasicTextWidget {
|
||||
middleClicks.removeIf(click -> click.expiresAt <= mtime);
|
||||
middle = middleClicks.size();
|
||||
}
|
||||
switch (appearance){
|
||||
case UNIFIED -> renderText = Text.literal((left + right + middle) + " CPS");
|
||||
case SPLIT_PIPE, SPLIT_SLASH -> {
|
||||
final StringBuilder sb = getClickText(left, middle, right);
|
||||
renderText = Text.literal(sb + " CPS");
|
||||
}
|
||||
}
|
||||
formatAndSetRenderText(switch (appearance){
|
||||
case UNIFIED -> literal((left + right + middle) + " CPS");
|
||||
case SPLIT_PIPE, SPLIT_SLASH -> literal(getClickText(left, middle, right) + " CPS");
|
||||
});
|
||||
}
|
||||
|
||||
private @NotNull StringBuilder getClickText(int left, int middle, int right) {
|
||||
|
||||
@@ -12,6 +12,8 @@ import java.time.Instant;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class ClockWidget extends BasicTextWidget {
|
||||
|
||||
public enum TimeOption {
|
||||
@@ -95,7 +97,7 @@ public class ClockWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public void tickWidget() {
|
||||
renderText = Text.literal(dateFormat.format(Date.from(Instant.now())));
|
||||
formatAndSetRenderText(literal(dateFormat.format(Date.from(Instant.now()))));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -6,6 +6,8 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class FPSWidget extends BasicTextWidget {
|
||||
public FPSWidget(Identifier id) {
|
||||
super(id, List.of());
|
||||
@@ -13,7 +15,7 @@ public class FPSWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public void tickWidget() {
|
||||
this.renderText = Text.literal(MinecraftClient.getInstance().getCurrentFps() + " FPS");
|
||||
formatAndSetRenderText(literal(MinecraftClient.getInstance().getCurrentFps() + " FPS"));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -7,6 +7,9 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
public class MemoryUsageWidget extends BasicTextWidget {
|
||||
|
||||
private boolean showPercentage = true;
|
||||
@@ -14,8 +17,8 @@ public class MemoryUsageWidget extends BasicTextWidget {
|
||||
|
||||
public MemoryUsageWidget(Identifier id) {
|
||||
super(id, List.of(
|
||||
new ToggleWidgetSetting("percentage", Text.translatable("widgets.widgets.memory.showPercentage"), true),
|
||||
new ToggleWidgetSetting("label", Text.translatable("widgets.widgets.common.showLabel"), true)
|
||||
new ToggleWidgetSetting("percentage", translatable("widgets.widgets.memory.showPercentage"), true),
|
||||
new ToggleWidgetSetting("label", translatable("widgets.widgets.common.showLabel"), true)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -31,9 +34,9 @@ public class MemoryUsageWidget extends BasicTextWidget {
|
||||
mib(memUsed) + "MiB / " + mib(memTotal) + "MiB (" + memUsagePercent + "%)" :
|
||||
mib(memUsed) + "MiB / " + mib(memTotal) + "MiB";
|
||||
if (showLabel){
|
||||
renderText = Text.literal(Text.translatable("widgets.widgets.memory.withLabel", memUsageString).getString());
|
||||
formatAndSetRenderText(literal(translatable("widgets.widgets.memory.withLabel", memUsageString).getString()));
|
||||
} else {
|
||||
renderText = Text.literal(memUsageString);
|
||||
formatAndSetRenderText(literal(memUsageString));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -44,12 +47,12 @@ public class MemoryUsageWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.memory");
|
||||
return translatable("widgets.widgets.memory");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.memory.description");
|
||||
return translatable("widgets.widgets.memory.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -12,6 +12,8 @@ import net.minecraft.util.profiler.MultiValueDebugSampleLogImpl;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class PingWidget extends BasicTextWidget {
|
||||
|
||||
public PingWidget(Identifier id) {
|
||||
@@ -48,12 +50,12 @@ public class PingWidget extends BasicTextWidget {
|
||||
valuesRead++;
|
||||
}
|
||||
if (valuesRead == 0){
|
||||
this.renderText = Text.literal("??? ms");
|
||||
formatAndSetRenderText(literal("??? ms"));
|
||||
if (this.dynamicColor) this.textColor = 0xff00ff00;
|
||||
return;
|
||||
}
|
||||
long avgPing = ping / valuesRead;
|
||||
this.renderText = Text.literal(avgPing + " ms");
|
||||
formatAndSetRenderText(literal(avgPing + " ms"));
|
||||
if (this.dynamicColor){
|
||||
if (avgPing < 50){
|
||||
this.textColor = 0xff00ff00;
|
||||
|
||||
@@ -7,6 +7,8 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class PlainTextWidget extends BasicTextWidget {
|
||||
public PlainTextWidget(Identifier id) {
|
||||
super(id, List.of(
|
||||
@@ -30,6 +32,6 @@ public class PlainTextWidget extends BasicTextWidget {
|
||||
@Override
|
||||
public void onSettingsChanged(WidgetSettings settings) {
|
||||
super.onSettingsChanged(settings);
|
||||
renderText = Text.literal(((TextFieldWidgetSettingOption) settings.optionById("text")).getValue());
|
||||
formatAndSetRenderText(literal(((TextFieldWidgetSettingOption) settings.optionById("text")).getValue()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,9 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
public class PlayTimeWidget extends BasicTextWidget {
|
||||
|
||||
private static final long startTime = System.nanoTime();
|
||||
@@ -27,18 +30,18 @@ public class PlayTimeWidget extends BasicTextWidget {
|
||||
|
||||
public PlayTimeWidget(Identifier id) {
|
||||
super(id, List.of(
|
||||
new EnumWidgetSetting<>("labelstyle", Text.translatable("widgets.widgets.playtime.labelStyle"), LabelStyle.class, LabelStyle.NO_LABEL, labelStyle -> Text.translatable("widgets.widgets.playtime.labelStyle."+labelStyle.key))
|
||||
new EnumWidgetSetting<>("labelstyle", translatable("widgets.widgets.playtime.labelStyle"), LabelStyle.class, LabelStyle.NO_LABEL, labelStyle -> translatable("widgets.widgets.playtime.labelStyle."+labelStyle.key))
|
||||
));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void tickWidget() {
|
||||
long timePlayedMs = getPlayedMs();
|
||||
switch (labelStyle){
|
||||
case NO_LABEL -> renderText = Text.literal(msToTimeStr(timePlayedMs));
|
||||
case PLAYTIME -> renderText = Text.literal(Text.translatable("widgets.widgets.playtime.playtime", msToTimeStr(timePlayedMs)).getString());
|
||||
case PLAYED -> renderText = Text.literal(Text.translatable("widgets.widgets.playtime.played", msToTimeStr(timePlayedMs)).getString());
|
||||
}
|
||||
formatAndSetRenderText(switch (labelStyle){
|
||||
case NO_LABEL -> literal(msToTimeStr(timePlayedMs));
|
||||
case PLAYTIME -> literal(translatable("widgets.widgets.playtime.playtime", msToTimeStr(timePlayedMs)).getString());
|
||||
case PLAYED -> literal(translatable("widgets.widgets.playtime.played", msToTimeStr(timePlayedMs)).getString());
|
||||
});
|
||||
}
|
||||
|
||||
private static long getPlayedMs() {
|
||||
@@ -59,12 +62,12 @@ public class PlayTimeWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.playtime");
|
||||
return translatable("widgets.widgets.playtime");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.playtime.description");
|
||||
return translatable("widgets.widgets.playtime.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,11 +10,14 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
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("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false)
|
||||
new ToggleWidgetSetting("showlabel", translatable("widgets.widgets.common.showLabel"), true),
|
||||
new ToggleWidgetSetting("hide_in_singleplayer", translatable("widgets.widgets.common.hideInSingleplayer"), false)
|
||||
));
|
||||
}
|
||||
|
||||
@@ -27,17 +30,17 @@ public class PlayerCountWidget extends BasicTextWidget{
|
||||
if (!shouldRender) return;
|
||||
final ClientPlayNetworkHandler networkHandler = MinecraftClient.getInstance().getNetworkHandler();
|
||||
String online = networkHandler == null ? "?" : String.valueOf(networkHandler.getListedPlayerListEntries().size());
|
||||
this.renderText = showLabel ? Text.literal(Text.translatable("widgets.widgets.playerCount.online", online).getString()) : Text.literal(online);
|
||||
formatAndSetRenderText(showLabel ? literal(translatable("widgets.widgets.playerCount.online", online).getString()) : literal(online));
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.playerCount");
|
||||
return translatable("widgets.widgets.playerCount");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.playerCount.description");
|
||||
return translatable("widgets.widgets.playerCount.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -10,11 +10,14 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
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("hide_in_singleplayer", Text.translatable("widgets.widgets.common.hideInSingleplayer"), false)
|
||||
new ToggleWidgetSetting("dynamicwidth", translatable("widgets.widgets.serverIP.dynamicWidth"), true),
|
||||
new ToggleWidgetSetting("hide_in_singleplayer", translatable("widgets.widgets.common.hideInSingleplayer"), false)
|
||||
));
|
||||
getSettings().optionById("width").setShowCondition(() -> !this.dynamicWidth);
|
||||
}
|
||||
@@ -31,12 +34,12 @@ public class ServerIPWidget extends BasicTextWidget {
|
||||
if (!shouldRender) return;
|
||||
final ServerInfo serverEntry = MinecraftClient.getInstance().getCurrentServerEntry();
|
||||
if (serverEntry != null){
|
||||
this.renderText = Text.of(serverEntry.address);
|
||||
formatAndSetRenderText(literal(serverEntry.address));
|
||||
} else {
|
||||
this.renderText = Text.translatable("menu.singleplayer");
|
||||
formatAndSetRenderText(translatable("menu.singleplayer"));
|
||||
}
|
||||
t++;
|
||||
if (t >= 20){
|
||||
if (dynamicWidth && t >= 20){
|
||||
t = 0;
|
||||
this.width = MinecraftClient.getInstance().textRenderer.getWidth(this.renderText) + 20;
|
||||
}
|
||||
@@ -49,12 +52,12 @@ public class ServerIPWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.serverIP");
|
||||
return translatable("widgets.widgets.serverIP");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.serverIP.description");
|
||||
return translatable("widgets.widgets.serverIP.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -13,6 +13,8 @@ import net.minecraft.util.math.Vec3d;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
|
||||
public class SpeedWidget extends BasicTextWidget {
|
||||
|
||||
public enum Unit {
|
||||
@@ -80,7 +82,7 @@ public class SpeedWidget extends BasicTextWidget {
|
||||
avg += v;
|
||||
}
|
||||
avg /= averagingWindow.length;
|
||||
renderText = Text.of(reduceDigits(avg) + unit.displayName);
|
||||
formatAndSetRenderText(literal(reduceDigits(avg) + unit.displayName));
|
||||
}
|
||||
|
||||
private String reduceDigits(double v) {
|
||||
|
||||
@@ -10,11 +10,14 @@ import net.minecraft.util.Identifier;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import static net.minecraft.text.Text.literal;
|
||||
import static net.minecraft.text.Text.translatable;
|
||||
|
||||
public class TPSWidget extends BasicTextWidget {
|
||||
public TPSWidget(Identifier id) {
|
||||
super(id, List.of(
|
||||
new ToggleWidgetSetting("show_label", Text.translatable("widgets.widgets.common.showLabel"), true),
|
||||
new ToggleWidgetSetting("dynamic_color", Text.translatable("widgets.widgets.tps.dynamicColor"), true)
|
||||
new ToggleWidgetSetting("show_label", translatable("widgets.widgets.common.showLabel"), true),
|
||||
new ToggleWidgetSetting("dynamic_color", translatable("widgets.widgets.tps.dynamicColor"), true)
|
||||
));
|
||||
getSettings().optionById("textcolor").setShowCondition(() -> !this.dynamicColor);
|
||||
INSTANCE = this;
|
||||
@@ -75,17 +78,17 @@ public class TPSWidget extends BasicTextWidget {
|
||||
private void updateTPS(float tps, float targetTickRate, boolean loadingFinished) {
|
||||
if (!loadingFinished){
|
||||
if (showLabel){
|
||||
this.renderText = Text.literal(Text.translatable("widgets.widgets.tps.tps", "???").getString());
|
||||
formatAndSetRenderText(literal(translatable("widgets.widgets.tps.tps", "???").getString()));
|
||||
} else {
|
||||
this.renderText = Text.literal("???");
|
||||
formatAndSetRenderText(literal("???"));
|
||||
}
|
||||
if (dynamicColor) this.textColor = 0xff00ff00;
|
||||
} else {
|
||||
tps = Math.round(tps * 10f) / 10f;
|
||||
if (showLabel){
|
||||
this.renderText = Text.literal(Text.translatable("widgets.widgets.tps.tps", tps).getString());
|
||||
formatAndSetRenderText(literal(translatable("widgets.widgets.tps.tps", tps).getString()));
|
||||
} else {
|
||||
this.renderText = Text.literal(String.valueOf(tps));
|
||||
formatAndSetRenderText(literal(String.valueOf(tps)));
|
||||
}
|
||||
if (dynamicColor){
|
||||
if (tps >= targetTickRate * 0.990){
|
||||
@@ -106,12 +109,12 @@ public class TPSWidget extends BasicTextWidget {
|
||||
|
||||
@Override
|
||||
public Text getName() {
|
||||
return Text.translatable("widgets.widgets.tps");
|
||||
return translatable("widgets.widgets.tps");
|
||||
}
|
||||
|
||||
@Override
|
||||
public Text getDescription() {
|
||||
return Text.translatable("widgets.widgets.tps.description");
|
||||
return translatable("widgets.widgets.tps.description");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user