package dev.isxander.yacl3.api.utils; import dev.isxander.yacl3.impl.utils.DimensionIntegerImpl; public interface Dimension { T x(); T y(); T width(); T height(); T xLimit(); T yLimit(); T centerX(); T centerY(); boolean isPointInside(T x, T y); MutableDimension clone(); Dimension withX(T x); Dimension withY(T y); Dimension withWidth(T width); Dimension withHeight(T height); Dimension moved(T x, T y); Dimension expanded(T width, T height); static MutableDimension ofInt(int x, int y, int width, int height) { return new DimensionIntegerImpl(x, y, width, height); } }