Skip to content

Commit 0136961

Browse files
committed
🐛 Fix compile errors from cherry picking
1 parent 4944f45 commit 0136961

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

common/src/main/java/com/mrcrayfish/controllable/client/gui/screens/SettingsScreen.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import com.mrcrayfish.framework.api.config.AbstractProperty;
1818
import com.mrcrayfish.framework.config.FrameworkConfigManager;
1919
import net.minecraft.ChatFormatting;
20+
import net.minecraft.client.ClientRecipeBook;
2021
import net.minecraft.client.Minecraft;
2122
import net.minecraft.client.gui.GuiGraphics;
2223
import net.minecraft.client.gui.components.AbstractWidget;
@@ -28,8 +29,11 @@
2829
import net.minecraft.client.gui.layouts.GridLayout;
2930
import net.minecraft.client.gui.navigation.ScreenRectangle;
3031
import net.minecraft.client.gui.screens.Screen;
32+
import net.minecraft.client.gui.screens.recipebook.RecipeCollection;
33+
import net.minecraft.core.RegistryAccess;
3134
import net.minecraft.network.chat.CommonComponents;
3235
import net.minecraft.network.chat.Component;
36+
import net.minecraft.world.item.crafting.RecipeHolder;
3337
import org.lwjgl.glfw.GLFW;
3438

3539
import org.jetbrains.annotations.Nullable;
@@ -287,8 +291,13 @@ public SettingsTab()
287291
mc.options.save();
288292
}));
289293
optionsList.addEntry(new TabOptionToggleItem(Config.CLIENT.options.quickCraft).setChangeCallback(value -> {
290-
if(mc.player != null) {
291-
mc.player.getRecipeBook().rebuildCollections();
294+
if(mc.player != null && mc.level != null) {
295+
// Rebuild the client recipe book
296+
ClientRecipeBook book = mc.player.getRecipeBook();
297+
Iterable<RecipeHolder<?>> holders = book.getCollections().stream().flatMap(c -> c.getRecipes().stream()).toList();
298+
RegistryAccess access = mc.level.registryAccess();
299+
book.setupCollections(holders, access);
300+
book.getCollections().forEach(c -> c.updateKnownRecipes(book));
292301
}
293302
}));
294303
optionsList.addEntry(new TabOptionEnumItem<>(Config.CLIENT.options.radialThumbstick));

common/src/main/java/com/mrcrayfish/controllable/client/util/MouseHooks.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ private static double getScreenMouseX()
2626
return Controllable.getCursor().getScreenX();
2727
}
2828
Window window = Minecraft.getInstance().getWindow();
29-
return Minecraft.getInstance().mouseHandler.getScaledXPos(window);
29+
double x = Minecraft.getInstance().mouseHandler.xpos();
30+
return x * window.getGuiScaledWidth() / window.getScreenWidth();
3031
}
3132

3233
/**
@@ -38,8 +39,10 @@ private static double getScreenMouseY()
3839
{
3940
return Controllable.getCursor().getScreenY();
4041
}
42+
// TODO TEST
4143
Window window = Minecraft.getInstance().getWindow();
42-
return Minecraft.getInstance().mouseHandler.getScaledYPos(window);
44+
double y = Minecraft.getInstance().mouseHandler.ypos();
45+
return y * window.getGuiScaledHeight() / window.getScreenHeight();
4346
}
4447

4548
/**

common/src/main/java/com/mrcrayfish/controllable/mixin/client/ClientRecipeBookMixin.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public class ClientRecipeBookMixin
1515
* feels a lot better. If quick craft option is toggled on or off during runtime, it will
1616
* automatically group/ungroup the recipes.
1717
*/
18-
@ModifyExpressionValue(method = "categorizeAndGroupRecipes", at = @At(value = "INVOKE", target = "Ljava/util/OptionalInt;isEmpty()Z"))
18+
@ModifyExpressionValue(method = "categorizeAndGroupRecipes", at = @At(value = "INVOKE", target = "Ljava/lang/String;isEmpty()Z"))
1919
private static boolean test(boolean original)
2020
{
2121
return original || Config.CLIENT.options.quickCraft.get();

0 commit comments

Comments
 (0)