1
mirror of https://github.com/Shiewk/Widgets.git synced 2026-04-28 11:34:17 +02:00

1.21.2 backport

This commit is contained in:
Shy
2025-11-27 12:15:07 +01:00
parent 269743269b
commit 8ef0aaa941
7 changed files with 41 additions and 29 deletions
+4 -4
View File
@@ -2,8 +2,8 @@
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.4 minecraft_version=1.21.2
yarn_mappings=1.21.4+build.8 yarn_mappings=1.21.2+build.1
loader_version=0.17.2 loader_version=0.17.2
# Mod Properties # Mod Properties
mod_version=2.0.0 mod_version=2.0.0
@@ -11,5 +11,5 @@ 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.118.0+1.21.4 fabric_version=0.106.1+1.21.2
modmenu_version=13.0.3 modmenu_version=12.0.0
@@ -1,38 +1,25 @@
package de.shiewk.widgets.client; package de.shiewk.widgets.client;
import de.shiewk.widgets.ModWidget; import de.shiewk.widgets.ModWidget;
import de.shiewk.widgets.WidgetsMod;
import de.shiewk.widgets.client.screen.EditWidgetPositionsScreen; import de.shiewk.widgets.client.screen.EditWidgetPositionsScreen;
import de.shiewk.widgets.client.screen.WidgetConfigScreen; 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.HudRenderCallback;
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;
import net.minecraft.client.render.RenderTickCounter; import net.minecraft.client.render.RenderTickCounter;
import net.minecraft.util.Identifier;
import net.minecraft.util.Util; import net.minecraft.util.Util;
import net.minecraft.util.profiler.Profiler; import net.minecraft.util.profiler.Profiler;
import net.minecraft.util.profiler.Profilers; import net.minecraft.util.profiler.Profilers;
public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted, HudLayerRegistrationCallback { public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecycleEvents.ClientStarted, HudRenderCallback {
public static final Identifier LAYER_ID = Identifier.of(WidgetsMod.MOD_ID, "widgets-hud-layer");
private static MinecraftClient client; private static MinecraftClient client;
@Override public void renderWidgets(DrawContext drawContext) {
public void register(LayeredDrawerWrapper layeredDrawerWrapper) {
layeredDrawerWrapper.addLayer(IdentifiedLayer.of(
LAYER_ID,
this::renderWidgets
));
}
public void renderWidgets(DrawContext drawContext, RenderTickCounter tickCounter) {
if (client.options.hudHidden) return; if (client.options.hudHidden) return;
if (client.currentScreen instanceof EditWidgetPositionsScreen) return; if (client.currentScreen instanceof EditWidgetPositionsScreen) return;
final Profiler profiler = Profilers.get(); final Profiler profiler = Profilers.get();
@@ -85,4 +72,9 @@ public class WidgetRenderer implements ClientTickEvents.StartTick, ClientLifecyc
widget.onSettingsChanged(widget.getSettings()); widget.onSettingsChanged(widget.getSettings());
} }
} }
@Override
public void onHudRender(DrawContext drawContext, RenderTickCounter renderTickCounter) {
this.renderWidgets(drawContext);
}
} }
@@ -10,7 +10,7 @@ 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.fabricmc.fabric.api.client.rendering.v1.HudRenderCallback;
import net.fabricmc.fabric.api.event.player.AttackEntityCallback; import net.fabricmc.fabric.api.event.player.AttackEntityCallback;
import net.minecraft.client.MinecraftClient; import net.minecraft.client.MinecraftClient;
import net.minecraft.client.option.KeyBinding; import net.minecraft.client.option.KeyBinding;
@@ -27,7 +27,7 @@ public class WidgetsModClient implements ClientModInitializer {
WidgetRenderer widgetRenderer = new WidgetRenderer(); WidgetRenderer widgetRenderer = new WidgetRenderer();
ClientTickEvents.START_CLIENT_TICK.register(widgetRenderer); ClientTickEvents.START_CLIENT_TICK.register(widgetRenderer);
ClientLifecycleEvents.CLIENT_STARTED.register(widgetRenderer); ClientLifecycleEvents.CLIENT_STARTED.register(widgetRenderer);
HudLayerRegistrationCallback.EVENT.register(widgetRenderer); HudRenderCallback.EVENT.register(widgetRenderer);
// manage widgets keybind // manage widgets keybind
configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding( configKeyBinding = KeyBindingHelper.registerKeyBinding(new KeyBinding(
@@ -113,6 +113,11 @@ public class ContextMenuScreen extends Screen {
renderMenu(context, mouseX, mouseY); renderMenu(context, mouseX, mouseY);
} }
@Override
public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) {
}
public void renderMenu(DrawContext context, int mouseX, int mouseY){ public void renderMenu(DrawContext context, int mouseX, int mouseY){
int y = menuY + 1; int y = menuY + 1;
for (Option option : options) { for (Option option : options) {
@@ -57,7 +57,7 @@ public class WidgetListWidget extends ScrollableWidget {
for (ModWidget widget : widgets) { for (ModWidget widget : widgets) {
adder.add(new WidgetWidget(0, 0, 200, 100, client, widget, textRenderer, onEdit)); adder.add(new WidgetWidget(0, 0, 200, 100, client, widget, textRenderer, onEdit));
} }
SimplePositioningWidget.setPos(gw, getX(), getY(), this.getWidth(), this.getContentsHeightWithPadding(), 0, 0); SimplePositioningWidget.setPos(gw, getX(), getY(), this.getWidth(), this.getContentsHeight(), 0, 0);
gw.refreshPositions(); gw.refreshPositions();
this.elements.clear(); this.elements.clear();
gw.forEachChild(w -> this.addWidget((WidgetWidget) w)); gw.forEachChild(w -> this.addWidget((WidgetWidget) w));
@@ -68,7 +68,7 @@ public class WidgetListWidget extends ScrollableWidget {
} }
@Override @Override
protected int getContentsHeightWithPadding() { protected int getContentsHeight() {
final int columns = getColumns(); final int columns = getColumns();
final int rows = widgets.size() / columns; final int rows = widgets.size() / columns;
return 10 + (rows * 108); return 10 + (rows * 108);
@@ -88,7 +88,7 @@ public class WidgetListWidget extends ScrollableWidget {
} }
@Override @Override
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { protected void renderContents(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 stack = context.getMatrices(); MatrixStack stack = context.getMatrices();
stack.push(); stack.push();
@@ -109,7 +109,12 @@ public class WidgetListWidget extends ScrollableWidget {
return true; return true;
} }
} }
return super.checkScrollbarDragged(mouseX, mouseY, button); return super.mouseClicked(mouseX, mouseY, button);
}
@Override
protected void drawBox(DrawContext context) {
} }
@Override @Override
@@ -40,7 +40,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
} }
@Override @Override
protected int getContentsHeightWithPadding() { protected int getContentsHeight() {
return this.contentsHeight; return this.contentsHeight;
} }
@@ -50,7 +50,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
} }
@Override @Override
protected void renderWidget(DrawContext context, int mouseX, int mouseY, float delta) { protected void renderContents(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(); MatrixStack matrices = context.getMatrices();
matrices.push(); matrices.push();
@@ -97,7 +97,12 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
customSetting.setFocused(false); customSetting.setFocused(false);
} }
} }
return checkScrollbarDragged(mouseX, mouseY, button); return super.mouseClicked(mouseX, mouseY, button);
}
@Override
protected void drawBox(DrawContext context) {
} }
@Override @Override
@@ -179,6 +179,11 @@ public class RGBAColorWidgetSetting extends WidgetSettingOption {
super.render(context, mouseX, mouseY, deltaTicks); super.render(context, mouseX, mouseY, deltaTicks);
} }
@Override
public void renderBackground(DrawContext context, int mouseX, int mouseY, float delta) {
}
@Override @Override
public void close() { public void close() {
client.setScreen(parent); client.setScreen(parent);