From 6f3dc40a6bc554b6decb685cb6d1eb6370b1eea6 Mon Sep 17 00:00:00 2001 From: isXander Date: Sun, 13 Nov 2022 19:04:45 +0000 Subject: lots of QOL and minor improvements smooth category scrolling individual reset buttons for all controllers separate Dimension into Dimension and MutableDimension to prevent mods from modifying controller dimensions without invoking the hooks made the dimension field private in AbstractWidget so people can't modify it without the method setDimension new Option API method to check if pending value is equal to default value add documentation to ConfigInstance fix bug where Option#requestSetDefault and Option#forgetPendingValue implementations weren't notifying listeners --- .../yacl/impl/utils/DimensionIntegerImpl.java | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) (limited to 'src/main/java/dev/isxander/yacl/impl/utils') diff --git a/src/main/java/dev/isxander/yacl/impl/utils/DimensionIntegerImpl.java b/src/main/java/dev/isxander/yacl/impl/utils/DimensionIntegerImpl.java index 76a5868..6c7508d 100644 --- a/src/main/java/dev/isxander/yacl/impl/utils/DimensionIntegerImpl.java +++ b/src/main/java/dev/isxander/yacl/impl/utils/DimensionIntegerImpl.java @@ -1,8 +1,9 @@ package dev.isxander.yacl.impl.utils; import dev.isxander.yacl.api.utils.Dimension; +import dev.isxander.yacl.api.utils.MutableDimension; -public class DimensionIntegerImpl implements Dimension { +public class DimensionIntegerImpl implements MutableDimension { private int x, y; private int width, height; @@ -59,14 +60,14 @@ public class DimensionIntegerImpl implements Dimension { } @Override - public Dimension clone() { + public MutableDimension clone() { return new DimensionIntegerImpl(x, y, width, height); } - @Override public Dimension setX(Integer x) { this.x = x; return this; } - @Override public Dimension setY(Integer y) { this.y = y; return this; } - @Override public Dimension setWidth(Integer width) { this.width = width; return this; } - @Override public Dimension setHeight(Integer height) { this.height = height; return this; } + @Override public MutableDimension setX(Integer x) { this.x = x; return this; } + @Override public MutableDimension setY(Integer y) { this.y = y; return this; } + @Override public MutableDimension setWidth(Integer width) { this.width = width; return this; } + @Override public MutableDimension setHeight(Integer height) { this.height = height; return this; } @Override public Dimension withX(Integer x) { @@ -80,23 +81,23 @@ public class DimensionIntegerImpl implements Dimension { @Override public Dimension withWidth(Integer width) { - return clone().withWidth(width); + return clone().setWidth(width); } @Override public Dimension withHeight(Integer height) { - return clone().withHeight(height); + return clone().setHeight(height); } @Override - public Dimension move(Integer x, Integer y) { + public MutableDimension move(Integer x, Integer y) { this.x += x; this.y += y; return this; } @Override - public Dimension expand(Integer width, Integer height) { + public MutableDimension expand(Integer width, Integer height) { this.width += width; this.height += height; return this; -- cgit