some changes to config screen

This commit is contained in:
creeper123123321 2022-11-05 20:47:21 -03:00
parent 396695aea7
commit 13a50efff0
12 changed files with 90 additions and 134 deletions

View File

@ -1,15 +1,23 @@
package com.viaversion.fabric.common.config;
import com.viaversion.fabric.common.util.ProtocolUtils;
public interface AbstractViaConfigScreen {
String TITLE_TRANSLATE_ID = "gui.viafabric_config.title";
String VERSION_TRANSLATE_ID = "gui.protocol_version_field.name";
default int getProtocolTextColor(boolean valid, boolean supported) {
if (!valid) {
return 0xff0000; // Red
} else if (!supported) {
return 0xFFA500; // Orange
}
default int getProtocolTextColor(int version, boolean parsedValid) {
if (!parsedValid) return 0xff0000; // Red
if (version == -1 || version == -2) return 0x5555FF; // Blue
if (!ProtocolUtils.isSupportedClientSide(version)) return 0xFFA500; // Orange
return 0xE0E0E0; // Default
}
default int calculatePosX(int width, int entryNumber) {
return width / 2 - 155 + entryNumber % 2 * 160;
}
default int calculatePosY(int height, int entryNumber) {
return height / 6 + 24 * (entryNumber / 2);
}
}

View File

@ -29,21 +29,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText().asString(), this::onClickClientSide));
entries++;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText().asString(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.font,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, new TranslatableText(VERSION_TRANSLATE_ID).asString());
entries++;
@ -55,12 +55,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.children.add(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, new TranslatableText("gui.done").asString(), (buttonWidget) -> MinecraftClient.getInstance().openScreen(this.parent)));
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, new TranslatableText("gui.done").asString(), (buttonWidget) -> MinecraftClient.getInstance().openScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -81,9 +76,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -29,21 +29,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText().asString(), this::onClickClientSide));
entries++;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText().asString(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.font,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, new TranslatableText(VERSION_TRANSLATE_ID).asString());
entries++;
@ -55,12 +55,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.children.add(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, new TranslatableText("gui.done").asString(), (buttonWidget) -> MinecraftClient.getInstance().openScreen(this.parent)));
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, new TranslatableText("gui.done").asString(), (buttonWidget) -> MinecraftClient.getInstance().openScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -81,9 +76,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -31,21 +31,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText(), this::onClickClientSide));
entries++;
this.addButton(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addButton(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.textRenderer,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, new TranslatableText(VERSION_TRANSLATE_ID));
entries++;
@ -57,12 +57,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.children.add(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.openScreen(this.parent)));
this.addButton(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.openScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -83,9 +78,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -31,21 +31,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText(), this::onClickClientSide));
entries++;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.textRenderer,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, new TranslatableText(VERSION_TRANSLATE_ID));
entries++;
@ -57,12 +57,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.addDrawableChild(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -83,9 +78,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -31,21 +31,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText(), this::onClickClientSide));
entries++;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.textRenderer,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, new TranslatableText(VERSION_TRANSLATE_ID));
entries++;
@ -57,12 +57,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.addDrawableChild(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -83,9 +78,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -31,23 +31,20 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
protected void init() {
int entries = 0;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
150,
20, getClientSideText(), this::onClickClientSide));
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150, 20, getClientSideText(), this::onClickClientSide));
entries++;
this.addDrawableChild(new ButtonWidget(this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
150,
20, getHideViaButtonText(), this::onHideViaButton));
this.addDrawableChild(new ButtonWidget(calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150, 20, getHideViaButtonText(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget(this.textRenderer,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
150,
20, Text.translatable("gui.protocol_version_field.name"));
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150, 20, Text.translatable("gui.protocol_version_field.name"));
entries++;
protocolVersion.setTextPredicate(ProtocolUtils::isStartOfProtocolText);
@ -57,12 +54,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
this.addDrawableChild(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
this.addDrawableChild(new ButtonWidget(this.width / 2 - 100, this.height - 40, 200, 20, ScreenTexts.DONE, (buttonWidget) -> this.client.setScreen(this.parent)));
}
private void onChangeVersionField(String text) {
@ -83,9 +75,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
}
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);

View File

@ -1,14 +1,14 @@
dependencies {
minecraft("com.mojang:minecraft:1.8.9")
mappings("net.legacyfabric:yarn:1.8.9+build.388:v2")
mappings("net.legacyfabric:yarn:1.8.9+build.423:v2")
modImplementation("net.legacyfabric.legacy-fabric-api:legacy-fabric-api:1.7.1+1.8.9")
modImplementation("net.legacyfabric.legacy-fabric-api:legacy-fabric-api:1.8.0+1.8.9")
modImplementation("io.github.boogiemonster1o1:rewoven-modmenu:1.0.0+1.8.9") {
isTransitive = false
}
// fix newer java
@Suppress("GradlePackageUpdate")
@Suppress("GradlePackageUpdate", "RedundantSuppression")
implementation("io.netty:netty-all:4.0.56.Final")
}

View File

@ -37,7 +37,7 @@ public class NMSCommandSender implements ViaCommandSender {
@Override
public String getName() {
if (source instanceof Entity) {
return source.method_6344().asString();
return source.getName().asUnformattedString();
}
return "?";
}

View File

@ -32,24 +32,24 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
public void init() {
int entries = 0;
this.buttons.add(new ListeneableButton("clientside".hashCode(), this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.buttons.add(new ListeneableButton("clientside".hashCode(), calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getClientSideText().asString(), this::onClickClientSide));
20, getClientSideText().asUnformattedString(), this::onClickClientSide));
entries++;
this.buttons.add(new ListeneableButton("hidevia".hashCode(), this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
this.buttons.add(new ListeneableButton("hidevia".hashCode(), calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20, getHideViaButtonText().asString(), this::onHideViaButton));
20, getHideViaButtonText().asUnformattedString(), this::onHideViaButton));
entries++;
protocolVersion = new TextFieldWidget("protover".hashCode(), textRenderer,
this.width / 2 - 155 + entries % 2 * 160,
this.height / 6 + 24 * (entries >> 1),
calculatePosX(this.width, entries),
calculatePosY(this.height, entries),
150,
20);
protocolVersion.setText(new TranslatableText(VERSION_TRANSLATE_ID).asString());
protocolVersion.setText(new TranslatableText(VERSION_TRANSLATE_ID).asUnformattedString());
entries++;
protocolVersion.setTextPredicate(ProtocolUtils::isStartOfProtocolText);
@ -60,12 +60,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
//this.children.add(protocolVersion);
//noinspection ConstantConditions
if (entries % 2 == 1) {
entries++;
}
buttons.add(new ListeneableButton("done".hashCode(), this.width / 2 - 100, this.height / 6 + 24 * (entries >> 1), 200, 20, new TranslatableText("gui.done").asString(),
buttons.add(new ListeneableButton("done".hashCode(), this.width / 2 - 100, this.height - 40, 200, 20, new TranslatableText("gui.done").asUnformattedString(),
(buttonWidget) -> MinecraftClient.getInstance().openScreen(this.parent)));
}
@ -83,9 +78,7 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
validProtocol = false;
}
protocolVersion.setEditableColor(
getProtocolTextColor(ProtocolUtils.isSupportedClientSide(newVersion),
validProtocol));
protocolVersion.setEditableColor(getProtocolTextColor(newVersion, validProtocol));
int finalNewVersion = newVersion;
if (latestProtocolSave == null) latestProtocolSave = CompletableFuture.completedFuture(null);
@ -101,21 +94,21 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
ViaFabric.config.setClientSideEnabled(true);
ViaFabric.config.setClientSideVersion(-2); // AUTO
ViaFabric.config.saveConfig();
widget.message = getClientSideText().asString();
widget.message = getClientSideText().asUnformattedString();
}
MinecraftClient.getInstance().openScreen(this);
},
new TranslatableText("gui.enable_client_side.question").asString(),
new TranslatableText("gui.enable_client_side.warning").asString(),
new TranslatableText("gui.enable_client_side.enable").asString(),
new TranslatableText("gui.cancel").asString(),
new TranslatableText("gui.enable_client_side.question").asUnformattedString(),
new TranslatableText("gui.enable_client_side.warning").asUnformattedString(),
new TranslatableText("gui.enable_client_side.enable").asUnformattedString(),
new TranslatableText("gui.cancel").asUnformattedString(),
"via anticheat consent".hashCode()
));
} else {
ViaFabric.config.setClientSideEnabled(false);
ViaFabric.config.saveConfig();
}
widget.message = getClientSideText().asString();
widget.message = getClientSideText().asUnformattedString();
}
@Override
@ -137,13 +130,13 @@ public class ViaConfigScreen extends Screen implements AbstractViaConfigScreen {
private void onHideViaButton(ButtonWidget widget) {
ViaFabric.config.setHideButton(!ViaFabric.config.isHideButton());
ViaFabric.config.saveConfig();
widget.message = getHideViaButtonText().asString();
widget.message = getHideViaButtonText().asUnformattedString();
}
@Override
public void render(int mouseX, int mouseY, float delta) {
this.renderBackground();
drawCenteredString(this.textRenderer, this.title.asString(), this.width / 2, 20, 16777215);
drawCenteredString(this.textRenderer, this.title.asUnformattedString(), this.width / 2, 20, 16777215);
super.render(mouseX, mouseY, delta);
protocolVersion.render();
}

View File

@ -30,7 +30,7 @@ public abstract class MixinMultiplayerScreen extends Screen {
new Identifier("viafabric:textures/gui/widgets.png"),
256, 256, // Texture size
it -> MinecraftClient.getInstance().openScreen(new ViaConfigScreen(this)),
new TranslatableText("gui.via_button").asString());
new TranslatableText("gui.via_button").asUnformattedString());
if (ViaFabric.config.isHideButton()) enableClientSideViaVersion.visible = false;
this.buttons.add(enableClientSideViaVersion);
}

View File

@ -89,7 +89,7 @@ public class ProtocolAutoDetector {
@Override
public void onDisconnected(Text reason) {
future.completeExceptionally(new IllegalStateException(reason.asString()));
future.completeExceptionally(new IllegalStateException(reason.asUnformattedString()));
}
});