mirror of
https://github.com/Shiewk/Widgets.git
synced 2026-04-28 11:34:17 +02:00
1.21.9 support
This commit is contained in:
+5
-5
@@ -2,14 +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.6
|
minecraft_version=1.21.9
|
||||||
yarn_mappings=1.21.6+build.1
|
yarn_mappings=1.21.9+build.1
|
||||||
loader_version=0.16.13
|
loader_version=0.17.2
|
||||||
# Mod Properties
|
# Mod Properties
|
||||||
mod_version=1.7.0
|
mod_version=1.7.0
|
||||||
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.127.0+1.21.6
|
fabric_version=0.134.0+1.21.9
|
||||||
modmenu_version=15.0.0-beta.3
|
modmenu_version=16.0.0-rc.1
|
||||||
|
|||||||
@@ -2,9 +2,12 @@ package de.shiewk.widgets;
|
|||||||
|
|
||||||
import com.google.gson.JsonElement;
|
import com.google.gson.JsonElement;
|
||||||
import de.shiewk.widgets.utils.WidgetUtils;
|
import de.shiewk.widgets.utils.WidgetUtils;
|
||||||
|
import net.minecraft.client.gui.Click;
|
||||||
import net.minecraft.client.gui.Drawable;
|
import net.minecraft.client.gui.Drawable;
|
||||||
import net.minecraft.client.gui.widget.ClickableWidget;
|
import net.minecraft.client.gui.widget.ClickableWidget;
|
||||||
import net.minecraft.client.gui.widget.Widget;
|
import net.minecraft.client.gui.widget.Widget;
|
||||||
|
import net.minecraft.client.input.CharInput;
|
||||||
|
import net.minecraft.client.input.KeyInput;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
import java.util.function.BooleanSupplier;
|
import java.util.function.BooleanSupplier;
|
||||||
@@ -43,23 +46,23 @@ public abstract class WidgetSettingOption implements Drawable, Widget {
|
|||||||
public abstract JsonElement saveState();
|
public abstract JsonElement saveState();
|
||||||
public abstract void loadState(JsonElement state);
|
public abstract void loadState(JsonElement state);
|
||||||
|
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button){
|
public boolean mouseReleased(Click click){
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean charTyped(char chr, int modifiers) {
|
public boolean charTyped(CharInput input) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
public boolean keyPressed(KeyInput input) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean keyReleased(int keyCode, int scanCode, int modifiers) {
|
public boolean keyReleased(KeyInput input) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ public class WidgetsModClient implements ClientModInitializer {
|
|||||||
|
|
||||||
static KeyBinding configKeyBinding;
|
static KeyBinding configKeyBinding;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onInitializeClient() {
|
public void onInitializeClient() {
|
||||||
WidgetRenderer widgetRenderer = new WidgetRenderer();
|
WidgetRenderer widgetRenderer = new WidgetRenderer();
|
||||||
@@ -33,7 +32,7 @@ public class WidgetsModClient implements ClientModInitializer {
|
|||||||
"widgets.key.config",
|
"widgets.key.config",
|
||||||
InputUtil.Type.KEYSYM,
|
InputUtil.Type.KEYSYM,
|
||||||
GLFW.GLFW_KEY_RIGHT_SHIFT,
|
GLFW.GLFW_KEY_RIGHT_SHIFT,
|
||||||
"widgets.key.category"
|
KeyBinding.Category.create(Identifier.of(WidgetsMod.MOD_ID, "main"))
|
||||||
));
|
));
|
||||||
|
|
||||||
// in-game /widgetsmod command
|
// in-game /widgetsmod command
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import de.shiewk.widgets.ModWidget;
|
|||||||
import de.shiewk.widgets.WidgetSettings;
|
import de.shiewk.widgets.WidgetSettings;
|
||||||
import de.shiewk.widgets.client.WidgetManager;
|
import de.shiewk.widgets.client.WidgetManager;
|
||||||
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
import it.unimi.dsi.fastutil.objects.ObjectArrayList;
|
||||||
|
import net.minecraft.client.gui.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.tooltip.Tooltip;
|
import net.minecraft.client.gui.tooltip.Tooltip;
|
||||||
@@ -148,16 +149,16 @@ public class EditWidgetPositionsScreen extends AnimatedScreen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (selectedWidget == null ? hoveredWidget == widget : selectedWidget == widget){
|
if (selectedWidget == null ? hoveredWidget == widget : selectedWidget == widget){
|
||||||
context.drawBorder((int) Math.round(wx-1), (int) Math.round(wy-1), ww+2, wh+2, SELECT_COLOR);
|
context.drawStrokedRectangle((int) Math.round(wx-1), (int) Math.round(wy-1), ww+2, wh+2, SELECT_COLOR);
|
||||||
context.drawBorder((int) Math.round(wx), (int) Math.round(wy), ww, wh, SELECT_COLOR);
|
context.drawStrokedRectangle((int) Math.round(wx), (int) Math.round(wy), ww, wh, SELECT_COLOR);
|
||||||
}
|
}
|
||||||
widget.render(context, Util.getMeasuringTimeNano(), textRenderer, (int) Math.round(wx), (int) Math.round(wy));
|
widget.render(context, Util.getMeasuringTimeNano(), textRenderer, (int) Math.round(wx), (int) Math.round(wy));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
if (button == 0 && selectedWidget != null){
|
if (click.button() == 0 && selectedWidget != null){
|
||||||
final AlignResult alignedX = alignX(translateToScreen(selectedWidget.getSettings().posX, this.width), (int) (selectedWidget.width() * selectedWidget.getScaleFactor()), selectedWidget);
|
final AlignResult alignedX = alignX(translateToScreen(selectedWidget.getSettings().posX, this.width), (int) (selectedWidget.width() * selectedWidget.getScaleFactor()), selectedWidget);
|
||||||
if (alignedX != null){
|
if (alignedX != null){
|
||||||
selectedWidget.getSettings().setPosX(translateToWidgetSettingsValue(alignedX.result(), this.width), (int) (selectedWidget.width() * selectedWidget.getScaleFactor()), this.width);
|
selectedWidget.getSettings().setPosX(translateToWidgetSettingsValue(alignedX.result(), this.width), (int) (selectedWidget.width() * selectedWidget.getScaleFactor()), this.width);
|
||||||
@@ -169,20 +170,20 @@ public class EditWidgetPositionsScreen extends AnimatedScreen {
|
|||||||
onEdit.accept(selectedWidget);
|
onEdit.accept(selectedWidget);
|
||||||
selectedWidget = null;
|
selectedWidget = null;
|
||||||
}
|
}
|
||||||
return super.mouseReleased(mouseX, mouseY, button);
|
return super.mouseReleased(click);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
if (button == 0 && hoveredWidget != null){
|
if (click.button() == 0 && hoveredWidget != null){
|
||||||
selectedWidget = hoveredWidget;
|
selectedWidget = hoveredWidget;
|
||||||
}
|
}
|
||||||
return super.mouseClicked(mouseX, mouseY, button);
|
return super.mouseClicked(click, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseDragged(double mouseX, double mouseY, int button, double deltaX, double deltaY) {
|
public boolean mouseDragged(Click click, double deltaX, double deltaY) {
|
||||||
if (button == 0){
|
if (click.button() == 0){
|
||||||
assert client != null;
|
assert client != null;
|
||||||
final ModWidget widget = selectedWidget;
|
final ModWidget widget = selectedWidget;
|
||||||
if (widget != null){
|
if (widget != null){
|
||||||
@@ -191,8 +192,8 @@ public class EditWidgetPositionsScreen extends AnimatedScreen {
|
|||||||
final int wx = (int) Math.min(translateToScreen(settings.posX, this.width), this.width - ww);
|
final int wx = (int) Math.min(translateToScreen(settings.posX, this.width), this.width - ww);
|
||||||
final int wh = (int) (widget.height() * widget.getScaleFactor());
|
final int wh = (int) (widget.height() * widget.getScaleFactor());
|
||||||
final int wy = (int) Math.min(translateToScreen(settings.posY, this.height), this.height - wh);
|
final int wy = (int) Math.min(translateToScreen(settings.posY, this.height), this.height - wh);
|
||||||
if (mouseX <= wx + ww + deltaX && mouseX >= wx + deltaX){
|
if (click.x() <= wx + ww + deltaX && click.x() >= wx + deltaX){
|
||||||
if (mouseY <= wy + wh + deltaY && mouseY >= wy + deltaY){
|
if (click.y() <= wy + wh + deltaY && click.y() >= wy + deltaY){
|
||||||
double newPosX = settings.posX + translateToWidgetSettingsValue(deltaX, this.width);
|
double newPosX = settings.posX + translateToWidgetSettingsValue(deltaX, this.width);
|
||||||
double newPosY = settings.posY + translateToWidgetSettingsValue(deltaY, this.height);
|
double newPosY = settings.posY + translateToWidgetSettingsValue(deltaY, this.height);
|
||||||
settings.setPosX(newPosX, ww, this.width);
|
settings.setPosX(newPosX, ww, this.width);
|
||||||
@@ -202,7 +203,7 @@ public class EditWidgetPositionsScreen extends AnimatedScreen {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.mouseDragged(mouseX, mouseY, button, deltaX, deltaY);
|
return super.mouseDragged(click, deltaX, deltaY);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import de.shiewk.widgets.ModWidget;
|
|||||||
import de.shiewk.widgets.client.WidgetManager;
|
import de.shiewk.widgets.client.WidgetManager;
|
||||||
import de.shiewk.widgets.client.screen.components.WidgetListWidget;
|
import de.shiewk.widgets.client.screen.components.WidgetListWidget;
|
||||||
import de.shiewk.widgets.utils.WidgetUtils;
|
import de.shiewk.widgets.utils.WidgetUtils;
|
||||||
|
import net.minecraft.client.gui.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.screen.Screen;
|
import net.minecraft.client.gui.screen.Screen;
|
||||||
import net.minecraft.client.gui.widget.AxisGridWidget;
|
import net.minecraft.client.gui.widget.AxisGridWidget;
|
||||||
@@ -86,10 +87,10 @@ public class WidgetConfigScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
if (super.mouseClicked(mouseX, mouseY, button)){
|
if (super.mouseClicked(click, doubled)){
|
||||||
return true;
|
return true;
|
||||||
} else return widgetList.mouseClicked(mouseX, mouseY, button);
|
} else return widgetList.mouseClicked(click, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package de.shiewk.widgets.client.screen.components;
|
|||||||
import de.shiewk.widgets.ModWidget;
|
import de.shiewk.widgets.ModWidget;
|
||||||
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.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.Element;
|
import net.minecraft.client.gui.Element;
|
||||||
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
|
import net.minecraft.client.gui.screen.narration.NarrationMessageBuilder;
|
||||||
@@ -78,16 +79,19 @@ public class WidgetListWidget extends ScrollableWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
|
double mouseY = click.y();
|
||||||
|
double mouseX = click.x();
|
||||||
mouseY += getScrollY();
|
mouseY += getScrollY();
|
||||||
|
Click newClick = new Click(mouseX, mouseY, click.buttonInfo());
|
||||||
for (Element element : elements) {
|
for (Element element : elements) {
|
||||||
if (element.mouseClicked(mouseX, mouseY, 0)){
|
if (element.mouseClicked(newClick, doubled)){
|
||||||
client.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
|
client.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (super.checkScrollbarDragged(mouseX, mouseY - getScrollY(), button)) return true;
|
if (super.checkScrollbarDragged(newClick)) return true;
|
||||||
return super.mouseClicked(mouseX, mouseY - getScrollY(), button);
|
return super.mouseClicked(newClick, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
+21
-16
@@ -3,9 +3,12 @@ package de.shiewk.widgets.client.screen.components;
|
|||||||
import de.shiewk.widgets.ModWidget;
|
import de.shiewk.widgets.ModWidget;
|
||||||
import de.shiewk.widgets.WidgetSettingOption;
|
import de.shiewk.widgets.WidgetSettingOption;
|
||||||
import net.minecraft.client.font.TextRenderer;
|
import net.minecraft.client.font.TextRenderer;
|
||||||
|
import net.minecraft.client.gui.Click;
|
||||||
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.input.CharInput;
|
||||||
|
import net.minecraft.client.input.KeyInput;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import org.joml.Matrix3x2fStack;
|
import org.joml.Matrix3x2fStack;
|
||||||
|
|
||||||
@@ -79,7 +82,9 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
|
double mouseY = click.y();
|
||||||
|
double mouseX = click.x();
|
||||||
mouseY += getScrollY();
|
mouseY += getScrollY();
|
||||||
for (WidgetSettingOption customSetting : widget.getSettings().getCustomSettings()) {
|
for (WidgetSettingOption customSetting : widget.getSettings().getCustomSettings()) {
|
||||||
if (!customSetting.shouldShow()) continue;
|
if (!customSetting.shouldShow()) continue;
|
||||||
@@ -87,7 +92,7 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
|
|||||||
&& mouseY >= customSetting.getY() && mouseY <= customSetting.getY() + customSetting.getHeight()){
|
&& mouseY >= customSetting.getY() && mouseY <= customSetting.getY() + customSetting.getHeight()){
|
||||||
focus = customSetting;
|
focus = customSetting;
|
||||||
customSetting.setFocused(true);
|
customSetting.setFocused(true);
|
||||||
if (customSetting.mouseClicked(mouseX, mouseY + getScrollY(), button)){
|
if (customSetting.mouseClicked(new Click(mouseX, mouseY + getScrollY(), click.buttonInfo()), doubled)){
|
||||||
onChange.run();
|
onChange.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -95,53 +100,53 @@ public class WidgetSettingsEditWidget extends ScrollableWidget {
|
|||||||
customSetting.setFocused(false);
|
customSetting.setFocused(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (checkScrollbarDragged(mouseX, mouseY - getScrollY(), button)) return true;
|
if (checkScrollbarDragged(click)) return true;
|
||||||
return super.mouseClicked(mouseX, mouseY - getScrollY(), button);
|
return super.mouseClicked(click, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
for (WidgetSettingOption customSetting : widget.getSettings().getCustomSettings()) {
|
for (WidgetSettingOption customSetting : widget.getSettings().getCustomSettings()) {
|
||||||
if (!customSetting.shouldShow()) continue;
|
if (!customSetting.shouldShow()) continue;
|
||||||
if (customSetting.mouseReleased(mouseX, mouseY + getScrollY(), button)){
|
if (customSetting.mouseReleased(new Click(click.x(), click.y() + getScrollY(), click.buttonInfo()))){
|
||||||
onChange.run();
|
onChange.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.mouseReleased(mouseX, mouseY, button);
|
return super.mouseReleased(click);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean charTyped(char chr, int modifiers) {
|
public boolean charTyped(CharInput input) {
|
||||||
if (this.focus != null){
|
if (this.focus != null){
|
||||||
if (this.focus.charTyped(chr, modifiers)){
|
if (this.focus.charTyped(input)){
|
||||||
onChange.run();
|
onChange.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.charTyped(chr, modifiers);
|
return super.charTyped(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
public boolean keyPressed(KeyInput input) {
|
||||||
if (this.focus != null){
|
if (this.focus != null){
|
||||||
if (this.focus.keyPressed(keyCode, scanCode, modifiers)){
|
if (this.focus.keyPressed(input)){
|
||||||
onChange.run();
|
onChange.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.keyPressed(keyCode, scanCode, modifiers);
|
return super.keyPressed(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyReleased(int keyCode, int scanCode, int modifiers) {
|
public boolean keyReleased(KeyInput input) {
|
||||||
if (this.focus != null){
|
if (this.focus != null){
|
||||||
if (this.focus.keyReleased(keyCode, scanCode, modifiers)){
|
if (this.focus.keyReleased(input)){
|
||||||
onChange.run();
|
onChange.run();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return super.keyReleased(keyCode, scanCode, modifiers);
|
return super.keyReleased(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import de.shiewk.widgets.client.screen.WidgetSettingsScreen;
|
|||||||
import de.shiewk.widgets.utils.WidgetUtils;
|
import de.shiewk.widgets.utils.WidgetUtils;
|
||||||
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.Click;
|
||||||
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.ClickableWidget;
|
import net.minecraft.client.gui.widget.ClickableWidget;
|
||||||
@@ -68,11 +69,11 @@ public class WidgetWidget extends ClickableWidget {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
if (isMouseOver(mouseX, mouseY)){
|
if (isMouseOver(click.x(), click.y())){
|
||||||
client.setScreen(new WidgetSettingsScreen(client.currentScreen, widget));
|
client.setScreen(new WidgetSettingsScreen(client.currentScreen, widget));
|
||||||
return true;
|
return true;
|
||||||
} else if (isMouseOverToggle(mouseX, mouseY)){
|
} else if (isMouseOverToggle(click.x(), click.y())){
|
||||||
this.toggleWidget();
|
this.toggleWidget();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package de.shiewk.widgets.mixin;
|
|||||||
|
|
||||||
import de.shiewk.widgets.widgets.CPSWidget;
|
import de.shiewk.widgets.widgets.CPSWidget;
|
||||||
import net.minecraft.client.Mouse;
|
import net.minecraft.client.Mouse;
|
||||||
|
import net.minecraft.client.input.MouseInput;
|
||||||
import org.spongepowered.asm.mixin.Mixin;
|
import org.spongepowered.asm.mixin.Mixin;
|
||||||
import org.spongepowered.asm.mixin.injection.At;
|
import org.spongepowered.asm.mixin.injection.At;
|
||||||
import org.spongepowered.asm.mixin.injection.Inject;
|
import org.spongepowered.asm.mixin.injection.Inject;
|
||||||
@@ -11,17 +12,17 @@ import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
|
|||||||
public class MixinMouse {
|
public class MixinMouse {
|
||||||
|
|
||||||
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;leftButtonClicked:Z"), method = "onMouseButton")
|
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;leftButtonClicked:Z"), method = "onMouseButton")
|
||||||
public void onLeftClick(long window, int button, int action, int mods, CallbackInfo ci){
|
public void onLeftClick(long window, MouseInput input, int action, CallbackInfo ci){
|
||||||
if (action == 1) CPSWidget.clickLeft();
|
if (action == 1) CPSWidget.clickLeft();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;middleButtonClicked:Z"), method = "onMouseButton")
|
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;middleButtonClicked:Z"), method = "onMouseButton")
|
||||||
public void onMiddleClick(long window, int button, int action, int mods, CallbackInfo ci){
|
public void onMiddleClick(long window, MouseInput input, int action, CallbackInfo ci){
|
||||||
if (action == 1) CPSWidget.clickMiddle();
|
if (action == 1) CPSWidget.clickMiddle();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;rightButtonClicked:Z"), method = "onMouseButton")
|
@Inject(at = @At(value = "FIELD", target = "Lnet/minecraft/client/Mouse;rightButtonClicked:Z"), method = "onMouseButton")
|
||||||
public void onRightClick(long window, int button, int action, int mods, CallbackInfo ci){
|
public void onRightClick(long window, MouseInput input, int action, CallbackInfo ci){
|
||||||
if (action == 1) CPSWidget.clickRight();
|
if (action == 1) CPSWidget.clickRight();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class SpeedWidget extends BasicTextWidget {
|
|||||||
ClientPlayerEntity player = MinecraftClient.getInstance().player;
|
ClientPlayerEntity player = MinecraftClient.getInstance().player;
|
||||||
if (player != null) {
|
if (player != null) {
|
||||||
Vec3d lastPos = this.lastPos;
|
Vec3d lastPos = this.lastPos;
|
||||||
Vec3d newPos = this.lastPos = player.getPos();
|
Vec3d newPos = this.lastPos = player.getEntityPos();
|
||||||
Vec3d velocity = lastPos.subtract(newPos);
|
Vec3d velocity = lastPos.subtract(newPos);
|
||||||
double rt = 0;
|
double rt = 0;
|
||||||
if (withXVelocity) rt += velocity.getX() * velocity.getX();
|
if (withXVelocity) rt += velocity.getX() * velocity.getX();
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.google.gson.JsonPrimitive;
|
|||||||
import de.shiewk.widgets.WidgetSettingOption;
|
import de.shiewk.widgets.WidgetSettingOption;
|
||||||
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.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
@@ -81,13 +82,13 @@ public class EnumWidgetSetting<T extends Enum<T>> extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
mouseClick = true;
|
mouseClick = true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
mouseClick = false;
|
mouseClick = false;
|
||||||
boolean changed = this.changed;
|
boolean changed = this.changed;
|
||||||
this.changed = false;
|
this.changed = false;
|
||||||
|
|||||||
@@ -5,10 +5,11 @@ import com.google.gson.JsonPrimitive;
|
|||||||
import de.shiewk.widgets.WidgetSettingOption;
|
import de.shiewk.widgets.WidgetSettingOption;
|
||||||
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.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
|
import net.minecraft.client.input.KeyInput;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
import org.lwjgl.glfw.GLFW;
|
|
||||||
|
|
||||||
public class IntSliderWidgetSetting extends WidgetSettingOption {
|
public class IntSliderWidgetSetting extends WidgetSettingOption {
|
||||||
|
|
||||||
@@ -26,11 +27,11 @@ public class IntSliderWidgetSetting extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
public boolean keyPressed(KeyInput input) {
|
||||||
if (maxValue > value && keyCode == GLFW.GLFW_KEY_RIGHT) {
|
if (maxValue > value && input.isRight()) {
|
||||||
value++;
|
value++;
|
||||||
return true;
|
return true;
|
||||||
} else if (minValue < value && keyCode == GLFW.GLFW_KEY_LEFT){
|
} else if (minValue < value && input.isLeft()){
|
||||||
value--;
|
value--;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -73,13 +74,13 @@ public class IntSliderWidgetSetting extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
this.clicked = true;
|
this.clicked = true;
|
||||||
return super.mouseClicked(mouseX, mouseY, button);
|
return super.mouseClicked(click, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
this.clicked = false;
|
this.clicked = false;
|
||||||
boolean t = this.changed;
|
boolean t = this.changed;
|
||||||
this.changed = false;
|
this.changed = false;
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import com.google.gson.JsonPrimitive;
|
|||||||
import de.shiewk.widgets.WidgetSettingOption;
|
import de.shiewk.widgets.WidgetSettingOption;
|
||||||
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.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.math.MathHelper;
|
import net.minecraft.util.math.MathHelper;
|
||||||
@@ -107,14 +108,14 @@ public class RGBAColorWidgetSetting extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
this.mouseClicked = true;
|
this.mouseClicked = true;
|
||||||
sv = 0;
|
sv = 0;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
this.mouseClicked = false;
|
this.mouseClicked = false;
|
||||||
final boolean c = this.sv != 0;
|
final boolean c = this.sv != 0;
|
||||||
this.sv = 0;
|
this.sv = 0;
|
||||||
|
|||||||
+13
-10
@@ -6,8 +6,11 @@ import de.shiewk.widgets.WidgetSettingOption;
|
|||||||
import de.shiewk.widgets.WidgetsMod;
|
import de.shiewk.widgets.WidgetsMod;
|
||||||
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.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.client.gui.widget.TextFieldWidget;
|
import net.minecraft.client.gui.widget.TextFieldWidget;
|
||||||
|
import net.minecraft.client.input.CharInput;
|
||||||
|
import net.minecraft.client.input.KeyInput;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
|
|
||||||
public class TextFieldWidgetSettingOption extends WidgetSettingOption {
|
public class TextFieldWidgetSettingOption extends WidgetSettingOption {
|
||||||
@@ -92,28 +95,28 @@ public class TextFieldWidgetSettingOption extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
return isFocused() && textField.mouseClicked(mouseX, mouseY, button);
|
return isFocused() && textField.mouseClicked(click, doubled);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseReleased(double mouseX, double mouseY, int button) {
|
public boolean mouseReleased(Click click) {
|
||||||
return isFocused() && textField.mouseReleased(mouseX, mouseY, button);
|
return isFocused() && textField.mouseReleased(click);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean charTyped(char chr, int modifiers) {
|
public boolean charTyped(CharInput input) {
|
||||||
return isFocused() && textField.charTyped(chr, modifiers);
|
return isFocused() && textField.charTyped(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyPressed(int keyCode, int scanCode, int modifiers) {
|
public boolean keyPressed(KeyInput input) {
|
||||||
return isFocused() && textField.keyPressed(keyCode, scanCode, modifiers);
|
return isFocused() && textField.keyPressed(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean keyReleased(int keyCode, int scanCode, int modifiers) {
|
public boolean keyReleased(KeyInput input) {
|
||||||
return isFocused() && textField.keyReleased(keyCode, scanCode, modifiers);
|
return isFocused() && textField.keyReleased(input);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.google.gson.JsonElement;
|
|||||||
import com.google.gson.JsonPrimitive;
|
import com.google.gson.JsonPrimitive;
|
||||||
import de.shiewk.widgets.WidgetSettingOption;
|
import de.shiewk.widgets.WidgetSettingOption;
|
||||||
import de.shiewk.widgets.utils.WidgetUtils;
|
import de.shiewk.widgets.utils.WidgetUtils;
|
||||||
|
import net.minecraft.client.gui.Click;
|
||||||
import net.minecraft.client.gui.DrawContext;
|
import net.minecraft.client.gui.DrawContext;
|
||||||
import net.minecraft.text.Text;
|
import net.minecraft.text.Text;
|
||||||
import net.minecraft.util.Util;
|
import net.minecraft.util.Util;
|
||||||
@@ -56,7 +57,7 @@ public class ToggleWidgetSetting extends WidgetSettingOption {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean mouseClicked(double mouseX, double mouseY, int button) {
|
public boolean mouseClicked(Click click, boolean doubled) {
|
||||||
toggle();
|
toggle();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user