@@ -0,0 +1,1841 @@
+package com.infinityraider.infinitylib.utility;%0A%0Aimport com.google.common.collect.ImmutableList;%0Aimport net.minecraft.network.chat.Component;%0A%0Aimport java.util.List;%0Aimport java.util.function.BooleanSupplier;%0Aimport java.util.function.Function;%0A%0Apublic final class TooltipRegion%3CT%3E %7B%0A    private final Function%3CT, List%3CComponent%3E%3E tooltip;%0A    private final int x1;%0A    private final int y1;%0A    private final int x2;%0A    private final int y2;%0A    private final BooleanSupplier isActive;%0A%0A    public TooltipRegion(Component tooltip, int x1, int y1, int x2, int y2) %7B%0A        this(ImmutableList.of(tooltip), x1, y1, x2, y2);%0A    %7D%0A%0A    public TooltipRegion(Function%3CT, List%3CComponent%3E%3E tooltip, int x1, int y1, int x2, int y2) %7B%0A        this(tooltip, x1, y1, x2, y2, () -%3E true);%0A    %7D%0A%0A    public TooltipRegion(Component tooltip, int x1, int y1, int x2, int y2, BooleanSupplier isActive) %7B%0A        this(ImmutableList.of(tooltip), x1, y1, x2, y2, isActive);%0A    %7D%0A%0A    public TooltipRegion(List%3CComponent%3E tooltip, int x1, int y1, int x2, int y2) %7B%0A        this(tooltip, x1, y1, x2, y2, () -%3E true);%0A    %7D%0A%0A    public TooltipRegion(List%3CComponent%3E tooltip, int x1, int y1, int x2, int y2, BooleanSupplier isActive) %7B%0A        this((state) -%3E tooltip, x1, y1, x2, y2, isActive);%0A    %7D%0A%0A    public TooltipRegion(Function%3CT, List%3CComponent%3E%3E tooltip, int x1, int y1, int x2, int y2, BooleanSupplier isActive) %7B%0A        this.tooltip = tooltip;%0A        this.x1 = x1;%0A        this.y1 = y1;%0A        this.x2 = x2;%0A        this.y2 = y2;%0A        this.isActive = isActive;%0A    %7D%0A%0A    public boolean isActive(double mX, double mY) %7B%0A        return this.isActive.getAsBoolean() && mX %3E= this.x1 && mX %3C= this.x2 && mY %3E= this.y1 && mY %3C= this.y2;%0A    %7D%0A%0A    public List%3CComponent%3E getTooltips(T target) %7B%0A        return this.tooltip.apply(target);%0A    %7D%0A%7D%0A

Add tooltip region class