mirror of
https://github.com/Shiewk/Widgets.git
synced 2026-04-28 11:34:17 +02:00
(1.6.1) 1.21.6 support
This commit is contained in:
+2
-2
@@ -1,5 +1,5 @@
|
|||||||
plugins {
|
plugins {
|
||||||
id 'fabric-loom' version '1.10.1'
|
id 'fabric-loom' version '1.11-SNAPSHOT'
|
||||||
id 'maven-publish'
|
id 'maven-publish'
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -42,7 +42,7 @@ dependencies {
|
|||||||
|
|
||||||
// Fabric API. This is technically optional, but you probably want it anyway.
|
// Fabric API. This is technically optional, but you probably want it anyway.
|
||||||
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
modImplementation "net.fabricmc.fabric-api:fabric-api:${project.fabric_version}"
|
||||||
modImplementation "maven.modrinth:modmenu:14.0.0-rc.2"
|
modImplementation "maven.modrinth:modmenu:${project.modmenu_version}"
|
||||||
}
|
}
|
||||||
|
|
||||||
processResources {
|
processResources {
|
||||||
|
|||||||
+6
-5
@@ -2,13 +2,14 @@
|
|||||||
org.gradle.jvmargs=-Xmx1G
|
org.gradle.jvmargs=-Xmx1G
|
||||||
# Fabric Properties
|
# Fabric Properties
|
||||||
# check these on https://modmuss50.me/fabric.html
|
# check these on https://modmuss50.me/fabric.html
|
||||||
minecraft_version=1.21.5
|
minecraft_version=1.21.6
|
||||||
yarn_mappings=1.21.5+build.1
|
yarn_mappings=1.21.6+build.1
|
||||||
loader_version=0.16.12
|
loader_version=0.16.13
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.6.0
|
mod_version=1.6.1
|
||||||
maven_group=de.shiewk
|
maven_group=de.shiewk
|
||||||
archives_base_name=Widgets
|
archives_base_name=Widgets
|
||||||
# Dependencies
|
# Dependencies
|
||||||
# check this on https://modmuss50.me/fabric.html
|
# check this on https://modmuss50.me/fabric.html
|
||||||
fabric_version=0.119.5+1.21.5
|
fabric_version=0.127.0+1.21.6
|
||||||
|
modmenu_version=15.0.0-beta.3
|
||||||
|
|||||||
@@ -8,9 +8,7 @@ import de.shiewk.widgets.client.screen.WidgetConfigScreen;
|
|||||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback;
|
import net.fabricmc.fabric.api.client.rendering.v1.hud.HudElementRegistry;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.IdentifiedLayer;
|
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.LayeredDrawerWrapper;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
@@ -22,18 +20,16 @@ import net.minecraft.util.profiler.Profilers;
|
|||||||
|
|
||||||
import static de.shiewk.widgets.WidgetUtils.translateToScreen;
|
import static de.shiewk.widgets.WidgetUtils.translateToScreen;
|
||||||
|
|
||||||
public class WidgetRenderer implements HudLayerRegistrationCallback, ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted {
|
public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted {
|
||||||
|
|
||||||
public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer");
|
public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer");
|
||||||
private static MinecraftClient client;
|
private static MinecraftClient client;
|
||||||
|
|
||||||
|
public WidgetRenderer(){
|
||||||
@Override
|
HudElementRegistry.addLast(
|
||||||
public void register(LayeredDrawerWrapper layeredDrawer) {
|
|
||||||
layeredDrawer.addLayer(IdentifiedLayer.of(
|
|
||||||
LAYER_ID,
|
LAYER_ID,
|
||||||
this::renderWidgets
|
this::renderWidgets
|
||||||
));
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) {
|
public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) {
|
||||||
|
|||||||
@@ -10,7 +10,6 @@ import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents;
|
|||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientLifecycleEvents;
|
||||||
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents;
|
||||||
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
import net.fabricmc.fabric.api.client.keybinding.v1.KeyBindingHelper;
|
||||||
import net.fabricmc.fabric.api.client.rendering.v1.HudLayerRegistrationCallback;
|
|
||||||
import net.minecraft.client.MinecraftClient;
|
import net.minecraft.client.MinecraftClient;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
import net.minecraft.client.util.InputUtil;
|
import net.minecraft.client.util.InputUtil;
|
||||||
@@ -24,9 +23,9 @@ public class WidgetsModClient implements ClientModInitializer {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
HudLayerRegistrationCallback.EVENT.register(new WidgetRenderer());
|
WidgetRenderer widgetRenderer = new WidgetRenderer();
|
||||||
ClientTickEvents.START_CLIENT_TICK.register(new WidgetRenderer());
|
ClientTickEvents.START_CLIENT_TICK.register(widgetRenderer);
|
||||||
ClientLifecycleEvents.CLIENT_STARTED.register(new WidgetRenderer());
|
ClientLifecycleEvents.CLIENT_STARTED.register(widgetRenderer);
|
||||||
|
|
||||||
// manage widgets keybind
|
// manage widgets keybind
|
||||||
configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding(
|
configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding(
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import net.minecraft.client.gui.DrawContext;
|
|||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
public abstract class AnimatedScreen extends Screen {
|
public abstract class AnimatedScreen extends Screen {
|
||||||
protected final Screen parent;
|
protected final Screen parent;
|
||||||
@@ -22,16 +23,17 @@ public abstract class AnimatedScreen extends Screen {
|
|||||||
final boolean shouldAnimate = timeMs < animationDurationMs;
|
final boolean shouldAnimate = timeMs < animationDurationMs;
|
||||||
if (shouldAnimate){
|
if (shouldAnimate){
|
||||||
double translation = WidgetUtils.computeEasing(timeMs / animationDurationMs) * this.width;
|
double translation = WidgetUtils.computeEasing(timeMs / animationDurationMs) * this.width;
|
||||||
context.getMatrices().push();
|
Matrix3x2fStack stack = context.getMatrices().pushMatrix();
|
||||||
context.getMatrices().translate(-translation, 0, 0);
|
|
||||||
|
stack.translate((float) -translation, 0, stack);
|
||||||
parent.render(context, (int) (mouseX + translation), mouseY, delta);
|
parent.render(context, (int) (mouseX + translation), mouseY, delta);
|
||||||
context.getMatrices().translate(this.width, 0, 0);
|
stack.translate(this.width, 0, stack);
|
||||||
mouseX -= (int) translation;
|
mouseX -= (int) translation;
|
||||||
}
|
}
|
||||||
super.render(context, mouseX, mouseY, delta);
|
super.render(context, mouseX, mouseY, delta);
|
||||||
this.renderScreenContents(context, mouseX, mouseY, delta);
|
this.renderScreenContents(context, mouseX, mouseY, delta);
|
||||||
if (shouldAnimate){
|
if (shouldAnimate){
|
||||||
context.getMatrices().pop();
|
context.getMatrices().popMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import net.minecraft.client.gui.widget.ButtonWidget;
|
|||||||
import net.minecraft.client.gui.widget.TextFieldWidget;
|
import net.minecraft.client.gui.widget.TextFieldWidget;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
@@ -103,17 +104,17 @@ public class WidgetConfigScreen extends Screen {
|
|||||||
assert client != null;
|
assert client != null;
|
||||||
final double time = getScreenTimeMs();
|
final double time = getScreenTimeMs();
|
||||||
if (time < 400){
|
if (time < 400){
|
||||||
context.getMatrices().push();
|
Matrix3x2fStack stack = context.getMatrices().pushMatrix();
|
||||||
final float v = (float) WidgetUtils.computeEasing(time / 400d);
|
final float v = (float) WidgetUtils.computeEasing(time / 400d);
|
||||||
context.getMatrices().translate(width / 2d - (width * v / 2d), height / 2d - (height * v / 2d), 0);
|
stack.translate((float) (width / 2d - (width * v / 2d)), (float) (height / 2d - (height * v / 2d)), stack);
|
||||||
context.getMatrices().scale(v, v, 1);
|
stack.scale(v, v, stack);
|
||||||
}
|
}
|
||||||
super.render(context, mouseX, mouseY, delta);
|
super.render(context, mouseX, mouseY, delta);
|
||||||
if (widgetList != null){
|
if (widgetList != null){
|
||||||
widgetList.render(context, mouseX, mouseY, delta);
|
widgetList.render(context, mouseX, mouseY, delta);
|
||||||
}
|
}
|
||||||
if (time < 400){
|
if (time < 400){
|
||||||
context.getMatrices().pop();
|
context.getMatrices().popMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -11,9 +11,9 @@ import net.minecraft.client.gui.widget.GridWidget;
|
|||||||
import net.minecraft.client.gui.widget.ScrollableWidget;
|
import net.minecraft.client.gui.widget.ScrollableWidget;
|
||||||
import net.minecraft.client.gui.widget.SimplePositioningWidget;
|
import net.minecraft.client.gui.widget.SimplePositioningWidget;
|
||||||
import net.minecraft.client.sound.PositionedSoundInstance;
|
import net.minecraft.client.sound.PositionedSoundInstance;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.sound.SoundEvents;
|
import net.minecraft.sound.SoundEvents;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -68,13 +68,12 @@ public class WidgetListWidget extends ScrollableWidget {
|
|||||||
@Override
|
@Override
|
||||||
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
context.enableScissor(getX(), getY(), getX()+width, getY()+height);
|
context.enableScissor(getX(), getY(), getX()+width, getY()+height);
|
||||||
MatrixStack matrices = context.getMatrices();
|
Matrix3x2fStack stack = context.getMatrices().pushMatrix();
|
||||||
matrices.push();
|
stack.translate(0, (float) -getScrollY(), stack);
|
||||||
matrices.translate(0, -getScrollY(), 0);
|
|
||||||
for (WidgetWidget element : elements) {
|
for (WidgetWidget element : elements) {
|
||||||
element.render(context, mouseX, (int) (mouseY + getScrollY()), delta);
|
element.render(context, mouseX, (int) (mouseY + getScrollY()), delta);
|
||||||
}
|
}
|
||||||
matrices.pop();
|
stack.popMatrix();
|
||||||
context.disableScissor();
|
context.disableScissor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+8
-9
@@ -6,8 +6,8 @@ import net.minecraft.client.font.TextRenderer;
|
|||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
|
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
|
||||||
import net.minecraft.client.gui.widget.ScrollableWidget;
|
import net.minecraft.client.gui.widget.ScrollableWidget;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
|
|
||||||
@@ -50,14 +50,13 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
|
|||||||
@Override
|
@Override
|
||||||
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) {
|
||||||
context.fill(getX(), getY(), getX()+width, getY()+height, COLOR_BG);
|
context.fill(getX(), getY(), getX()+width, getY()+height, COLOR_BG);
|
||||||
MatrixStack matrices = context.getMatrices();
|
Matrix3x2fStack matrices = context.getMatrices().pushMatrix();
|
||||||
matrices.push();
|
matrices.translate(0, (float) -getScrollY(), matrices);
|
||||||
matrices.translate(0, -getScrollY(), 0);
|
matrices.pushMatrix();
|
||||||
matrices.push();
|
matrices.scale(2, 2, matrices);
|
||||||
matrices.scale(2, 2, 2);
|
matrices.translate(0, (float) -getScrollY(), matrices);
|
||||||
matrices.translate(0, -getScrollY(), 0);
|
|
||||||
context.drawText(textRenderer, widget.getName(), this.width / 4 - textRenderer.getWidth(widget.getName()) / 2, this.height / 100, COLOR_FG, true);
|
context.drawText(textRenderer, widget.getName(), this.width / 4 - textRenderer.getWidth(widget.getName()) / 2, this.height / 100, COLOR_FG, true);
|
||||||
matrices.pop();
|
matrices.popMatrix();
|
||||||
int y = textRenderer.fontHeight * 2 + this.height / 50 + 5;
|
int y = textRenderer.fontHeight * 2 + this.height / 50 + 5;
|
||||||
for (WidgetSettingOption setting : widget.getSettings().getCustomSettings()) {
|
for (WidgetSettingOption setting : widget.getSettings().getCustomSettings()) {
|
||||||
if (!setting.shouldShow()) continue;
|
if (!setting.shouldShow()) continue;
|
||||||
@@ -76,7 +75,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
|
|||||||
y += 5;
|
y += 5;
|
||||||
}
|
}
|
||||||
this.contentsHeight = y;
|
this.contentsHeight = y;
|
||||||
matrices.pop();
|
matrices.popMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ import net.minecraft.client.gui.widget.ClickableWidget;
|
|||||||
import net.minecraft.text.OrderedText;
|
import net.minecraft.text.OrderedText;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
@@ -53,11 +54,11 @@ public class WidgetWidget extends ClickableWidget {
|
|||||||
boolean hover = this.isMouseOver(mouseX, mouseY);
|
boolean hover = this.isMouseOver(mouseX, mouseY);
|
||||||
boolean widgetEnabled = widget.getSettings().isEnabled();
|
boolean widgetEnabled = widget.getSettings().isEnabled();
|
||||||
context.fill(this.getX(), this.getY(), this.getX() + this.getWidth(), this.getY() + this.getHeight(), hover ? COLOR_BG_HOVER : COLOR_BG);
|
context.fill(this.getX(), this.getY(), this.getX() + this.getWidth(), this.getY() + this.getHeight(), hover ? COLOR_BG_HOVER : COLOR_BG);
|
||||||
context.getMatrices().push();
|
Matrix3x2fStack stack = context.getMatrices().pushMatrix();
|
||||||
context.getMatrices().scale(2, 2, 1);
|
stack.scale(2, 2, stack);
|
||||||
int titleSize = textRenderer.getWidth(widget.getName());
|
int titleSize = textRenderer.getWidth(widget.getName());
|
||||||
context.drawText(textRenderer, widget.getName(), getX() / 2 + getWidth() / 4 - titleSize / 2, getY() / 2 + 4, COLOR_FG, false);
|
context.drawText(textRenderer, widget.getName(), getX() / 2 + getWidth() / 4 - titleSize / 2, getY() / 2 + 4, COLOR_FG, false);
|
||||||
context.getMatrices().pop();
|
stack.popMatrix();
|
||||||
int y = this.getY() + 12 + textRenderer.fontHeight * 2;
|
int y = this.getY() + 12 + textRenderer.fontHeight * 2;
|
||||||
for (Iterator<OrderedText> it = textRenderer.wrapLines(widget.getDescription(), this.getWidth() - 10).iterator(); it.hasNext(); y += 9) {
|
for (Iterator<OrderedText> it = textRenderer.wrapLines(widget.getDescription(), this.getWidth() - 10).iterator(); it.hasNext(); y += 9) {
|
||||||
OrderedText t = it.next();
|
OrderedText t = it.next();
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import java.util.function.LongFunction;
|
|||||||
public class BandwidthWidget extends BasicTextWidget {
|
public class BandwidthWidget extends BasicTextWidget {
|
||||||
|
|
||||||
public enum Unit {
|
public enum Unit {
|
||||||
|
@SuppressWarnings("IntegerDivisionInFloatingPointContext")
|
||||||
KB("kB", bytes -> {
|
KB("kB", bytes -> {
|
||||||
if (bytes > 1000) {
|
if (bytes > 1000) {
|
||||||
double kB = bytes / 100 / 10d;
|
double kB = bytes / 100 / 10d;
|
||||||
@@ -67,11 +68,11 @@ public class BandwidthWidget extends BasicTextWidget {
|
|||||||
this.renderText = Text.of(unit.sizeFormatter.apply(avgBytesPerSecond));
|
this.renderText = Text.of(unit.sizeFormatter.apply(avgBytesPerSecond));
|
||||||
if (this.dynamicColor){
|
if (this.dynamicColor){
|
||||||
if (avgBytesPerSecond < 100000){
|
if (avgBytesPerSecond < 100000){
|
||||||
this.textColor = 0x00ff00;
|
this.textColor = 0xff00ff00;
|
||||||
} else if (avgBytesPerSecond < 750000) {
|
} else if (avgBytesPerSecond < 750000) {
|
||||||
this.textColor = 0xffff00;
|
this.textColor = 0xffffff00;
|
||||||
} else {
|
} else {
|
||||||
this.textColor = 0xff3030;
|
this.textColor = 0xffff3030;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,9 +10,9 @@ import de.shiewk.widgets.widgets.settings.ToggleWidgetSetting;
|
|||||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -84,16 +84,16 @@ public abstract class BasicTextWidget extends ModWidget {
|
|||||||
@Override
|
@Override
|
||||||
public void render(DrawContext context, long n, TextRenderer textRenderer, int posX, int posY) {
|
public void render(DrawContext context, long n, TextRenderer textRenderer, int posX, int posY) {
|
||||||
if (!shouldRender) return;
|
if (!shouldRender) return;
|
||||||
MatrixStack matrices = context.getMatrices();
|
Matrix3x2fStack matrices = context.getMatrices();
|
||||||
if (size != 1f){
|
if (size != 1f){
|
||||||
matrices.push();
|
matrices.pushMatrix();
|
||||||
matrices.translate(-(size-1) * posX, -(size-1) * posY, 0);
|
matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices);
|
||||||
matrices.scale(size, size, 1);
|
matrices.scale(size, size, matrices);
|
||||||
}
|
}
|
||||||
renderer = textRenderer;
|
renderer = textRenderer;
|
||||||
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
||||||
context.drawText(textRenderer, renderText, posX + textX, posY + (textShadow ? textY : textY + 1 /* offset 1 without text shadow so that it looks more aligned */), this.textColor, textShadow);
|
context.drawText(textRenderer, renderText, posX + textX, posY + (textShadow ? textY : textY + 1 /* offset 1 without text shadow so that it looks more aligned */), this.textColor, textShadow);
|
||||||
if (size != 1f) matrices.pop();
|
if (size != 1f) matrices.popMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -9,9 +9,9 @@ import net.minecraft.client.MinecraftClient;
|
|||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.network.ClientPlayerEntity;
|
import net.minecraft.client.network.ClientPlayerEntity;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -39,11 +39,11 @@ public class CoordinatesWidget extends ModWidget {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
||||||
MatrixStack matrices = context.getMatrices();
|
Matrix3x2fStack matrices = context.getMatrices();
|
||||||
if (size != 1f){
|
if (size != 1f){
|
||||||
matrices.push();
|
matrices.pushMatrix();
|
||||||
matrices.translate(-(size-1) * posX, -(size-1) * posY, 0);
|
matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices);
|
||||||
matrices.scale(size, size, 1);
|
matrices.scale(size, size, matrices);
|
||||||
}
|
}
|
||||||
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
context.fill(posX, posY, posX + width(), posY + height(), this.backgroundColor);
|
||||||
int y = this.paddingY;
|
int y = this.paddingY;
|
||||||
@@ -64,7 +64,7 @@ public class CoordinatesWidget extends ModWidget {
|
|||||||
context.drawText(textRenderer, "Z: ", posX + paddingX, posY + y, textColor, shadow);
|
context.drawText(textRenderer, "Z: ", posX + paddingX, posY + y, textColor, shadow);
|
||||||
context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, shadow);
|
context.drawText(textRenderer, textZ, posX + tzc, posY + y, textColor, shadow);
|
||||||
}
|
}
|
||||||
if (size != 1f) matrices.pop();
|
if (size != 1f) matrices.popMatrix();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -9,11 +9,11 @@ import net.minecraft.client.MinecraftClient;
|
|||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.option.KeyBinding;
|
import net.minecraft.client.option.KeyBinding;
|
||||||
import net.minecraft.client.util.math.MatrixStack;
|
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Identifier;
|
import net.minecraft.util.Identifier;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@@ -76,11 +76,11 @@ public class KeyStrokesWidget extends ModWidget {
|
|||||||
@Override
|
@Override
|
||||||
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
public void render(DrawContext context, long measuringTimeNano, TextRenderer textRenderer, int posX, int posY) {
|
||||||
if (KEY_JUMP == null) return;
|
if (KEY_JUMP == null) return;
|
||||||
MatrixStack matrices = context.getMatrices();
|
Matrix3x2fStack matrices = context.getMatrices();
|
||||||
if (size != 1) {
|
if (size != 1) {
|
||||||
matrices.push();
|
matrices.pushMatrix();
|
||||||
matrices.translate(-(size-1) * posX, -(size-1) * posY, 0);
|
matrices.translate(-(size-1) * posX, -(size-1) * posY, matrices);
|
||||||
matrices.scale(size, size, 1);
|
matrices.scale(size, size, matrices);
|
||||||
}
|
}
|
||||||
renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 22, posY, KEY_FWD);
|
renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 22, posY, KEY_FWD);
|
||||||
renderKeyStroke(context, textRenderer, measuringTimeNano, posX, posY + 22, KEY_LEFT);
|
renderKeyStroke(context, textRenderer, measuringTimeNano, posX, posY + 22, KEY_LEFT);
|
||||||
@@ -88,7 +88,7 @@ public class KeyStrokesWidget extends ModWidget {
|
|||||||
renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 44, posY + 22, KEY_RIGHT);
|
renderKeyStroke(context, textRenderer, measuringTimeNano, posX + 44, posY + 22, KEY_RIGHT);
|
||||||
if (showJumpKey) renderSpaceBar(context, measuringTimeNano, posX, posY + 44, KEY_JUMP);
|
if (showJumpKey) renderSpaceBar(context, measuringTimeNano, posX, posY + 44, KEY_JUMP);
|
||||||
if (size != 1){
|
if (size != 1){
|
||||||
matrices.pop();
|
matrices.popMatrix();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,18 +49,18 @@ public class PingWidget extends BasicTextWidget {
|
|||||||
}
|
}
|
||||||
if (valuesRead == 0){
|
if (valuesRead == 0){
|
||||||
this.renderText = Text.literal("??? ms");
|
this.renderText = Text.literal("??? ms");
|
||||||
if (this.dynamicColor) this.textColor = 0x00ff00;
|
if (this.dynamicColor) this.textColor = 0xff00ff00;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
long avgPing = ping / valuesRead;
|
long avgPing = ping / valuesRead;
|
||||||
this.renderText = Text.literal(avgPing + " ms");
|
this.renderText = Text.literal(avgPing + " ms");
|
||||||
if (this.dynamicColor){
|
if (this.dynamicColor){
|
||||||
if (avgPing < 50){
|
if (avgPing < 50){
|
||||||
this.textColor = 0x00ff00;
|
this.textColor = 0xff00ff00;
|
||||||
} else if (avgPing < 120) {
|
} else if (avgPing < 120) {
|
||||||
this.textColor = 0xffff00;
|
this.textColor = 0xffffff00;
|
||||||
} else {
|
} else {
|
||||||
this.textColor = 0xff3030;
|
this.textColor = 0xffff3030;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ public class TPSWidget extends BasicTextWidget {
|
|||||||
} else {
|
} else {
|
||||||
this.renderText = Text.literal("???");
|
this.renderText = Text.literal("???");
|
||||||
}
|
}
|
||||||
if (dynamicColor) this.textColor = 0x00ff00;
|
if (dynamicColor) this.textColor = 0xff00ff00;
|
||||||
} else {
|
} else {
|
||||||
tps = Math.round(tps * 10f) / 10f;
|
tps = Math.round(tps * 10f) / 10f;
|
||||||
if (showLabel){
|
if (showLabel){
|
||||||
@@ -89,11 +89,11 @@ public class TPSWidget extends BasicTextWidget {
|
|||||||
}
|
}
|
||||||
if (dynamicColor){
|
if (dynamicColor){
|
||||||
if (tps >= targetTickRate * 0.990){
|
if (tps >= targetTickRate * 0.990){
|
||||||
this.textColor = 0x00ff00;
|
this.textColor = 0xff00ff00;
|
||||||
} else if (tps >= targetTickRate * 0.740){
|
} else if (tps >= targetTickRate * 0.740){
|
||||||
this.textColor = 0xffff00;
|
this.textColor = 0xffffff00;
|
||||||
} else {
|
} else {
|
||||||
this.textColor = 0xff0000;
|
this.textColor = 0xffff0000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,15 +69,15 @@ public class RGBAColorWidgetSetting extends WidgetSettingOption {
|
|||||||
o++;
|
o++;
|
||||||
}
|
}
|
||||||
|
|
||||||
context.drawText(textRenderer, "R", this.getX() + 7 - textRenderer.getWidth("R"), this.getY() + 5 + 4, 0xffffff, true);
|
context.drawText(textRenderer, "R", this.getX() + 7 - textRenderer.getWidth("R"), this.getY() + 5 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, "G", this.getX() + 7 - textRenderer.getWidth("G"), this.getY() + 25 + 4, 0xffffff, true);
|
context.drawText(textRenderer, "G", this.getX() + 7 - textRenderer.getWidth("G"), this.getY() + 25 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, "B", this.getX() + 7 - textRenderer.getWidth("B"), this.getY() + 45 + 4, 0xffffff, true);
|
context.drawText(textRenderer, "B", this.getX() + 7 - textRenderer.getWidth("B"), this.getY() + 45 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, "A", this.getX() + 7 - textRenderer.getWidth("A"), this.getY() + 65 + 4, 0xffffff, true);
|
context.drawText(textRenderer, "A", this.getX() + 7 - textRenderer.getWidth("A"), this.getY() + 65 + 4, 0xffffffff, true);
|
||||||
|
|
||||||
context.drawText(textRenderer, String.valueOf(r), this.getX() + this.getWidth() - 19, this.getY() + 5 + 4, 0xffffff, true);
|
context.drawText(textRenderer, String.valueOf(r), this.getX() + this.getWidth() - 19, this.getY() + 5 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, String.valueOf(g), this.getX() + this.getWidth() - 19, this.getY() + 25 + 4, 0xffffff, true);
|
context.drawText(textRenderer, String.valueOf(g), this.getX() + this.getWidth() - 19, this.getY() + 25 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, String.valueOf(b), this.getX() + this.getWidth() - 19, this.getY() + 45 + 4, 0xffffff, true);
|
context.drawText(textRenderer, String.valueOf(b), this.getX() + this.getWidth() - 19, this.getY() + 45 + 4, 0xffffffff, true);
|
||||||
context.drawText(textRenderer, String.valueOf(a), this.getX() + this.getWidth() - 19, this.getY() + 65 + 4, 0xffffff, true);
|
context.drawText(textRenderer, String.valueOf(a), this.getX() + this.getWidth() - 19, this.getY() + 65 + 4, 0xffffffff, true);
|
||||||
|
|
||||||
context.drawVerticalLine(this.getX() + 5 + 7 + r/2, this.getY() + 4, this.getY() + 21, 0xffffffff);
|
context.drawVerticalLine(this.getX() + 5 + 7 + r/2, this.getY() + 4, this.getY() + 21, 0xffffffff);
|
||||||
context.drawVerticalLine(this.getX() + 5 + 7 + g/2, this.getY() + 24, this.getY() + 41, 0xffffffff);
|
context.drawVerticalLine(this.getX() + 5 + 7 + g/2, this.getY() + 24, this.getY() + 41, 0xffffffff);
|
||||||
|
|||||||
Reference in New Issue
Block a user