1
0
forked from Clones/Controlify

recipe book snapping

This commit is contained in:
isXander
2023-04-21 18:13:20 +01:00
parent 7703b79f5a
commit 0c364d08c1
7 changed files with 161 additions and 0 deletions

View File

@ -0,0 +1,32 @@
package dev.isxander.controlify.virtualmouse;
import dev.isxander.controlify.api.vmousesnapping.SnapPoint;
import dev.isxander.controlify.mixins.feature.virtualmouse.snapping.RecipeBookComponentAccessor;
import dev.isxander.controlify.mixins.feature.virtualmouse.snapping.RecipeBookPageAccessor;
import net.minecraft.client.gui.screens.recipebook.RecipeBookComponent;
import org.joml.Vector2i;
import java.util.Collection;
public final class SnapUtils {
private SnapUtils() {
}
public static void addRecipeSnapPoints(RecipeBookComponent recipeBookComponent, Collection<SnapPoint> points) {
if (recipeBookComponent.isVisible()) {
RecipeBookComponentAccessor componentAccessor = (RecipeBookComponentAccessor) recipeBookComponent;
componentAccessor.getTabButtons().forEach(button -> {
int x = button.getX() + button.getWidth() / 2;
int y = button.getY() + button.getHeight() / 2;
points.add(new SnapPoint(new Vector2i(x, y), 20));
});
RecipeBookPageAccessor pageAccessor = (RecipeBookPageAccessor) componentAccessor.getRecipeBookPage();
pageAccessor.getButtons().forEach(button -> {
int x = button.getX() + button.getWidth() / 2;
int y = button.getY() + button.getHeight() / 2;
points.add(new SnapPoint(new Vector2i(x, y), 21));
});
}
}
}