Skip to content

Commit a0cae76

Browse files
committed
📦 Remove mixin references inside mixins
1 parent e745e09 commit a0cae76

File tree

2 files changed

+25
-4
lines changed

2 files changed

+25
-4
lines changed

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

Lines changed: 23 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package com.mrcrayfish.controllable.client.util;
22

3-
import com.mojang.blaze3d.systems.RenderSystem;
43
import com.mrcrayfish.controllable.Config;
54
import com.mrcrayfish.controllable.client.input.Buttons;
65
import com.mrcrayfish.controllable.client.settings.ButtonIcons;
76
import com.mrcrayfish.controllable.client.gui.Icons;
7+
import com.mrcrayfish.controllable.mixin.client.OverlayRecipeButtonAccessor;
8+
import com.mrcrayfish.controllable.mixin.client.OverlayRecipeComponentAccessor;
89
import com.mrcrayfish.controllable.platform.ClientServices;
910
import com.mrcrayfish.controllable.util.Utils;
1011
import net.minecraft.ChatFormatting;
1112
import net.minecraft.client.GuiMessage;
1213
import net.minecraft.client.Minecraft;
1314
import net.minecraft.client.OptionInstance;
1415
import net.minecraft.client.gui.GuiGraphics;
16+
import net.minecraft.client.gui.components.AbstractWidget;
1517
import net.minecraft.client.gui.components.Tooltip;
16-
import net.minecraft.client.player.ClientInput;
18+
import net.minecraft.client.gui.screens.recipebook.OverlayRecipeComponent;
1719
import net.minecraft.client.renderer.RenderType;
1820
import net.minecraft.locale.Language;
1921
import net.minecraft.network.chat.CommonComponents;
@@ -23,6 +25,7 @@
2325
import net.minecraft.resources.ResourceLocation;
2426
import net.minecraft.util.FormattedCharSequence;
2527

28+
import java.util.Collections;
2629
import java.util.List;
2730

2831
/**
@@ -102,4 +105,22 @@ public static boolean isSubtitleShowing()
102105
Minecraft mc = Minecraft.getInstance();
103106
return mc.options.showSubtitles().get() && mc.screen == null;
104107
}
108+
109+
public static List<AbstractWidget> mixinGetRecipeButtons(OverlayRecipeComponent overlay)
110+
{
111+
if(overlay instanceof OverlayRecipeComponentAccessor accessor)
112+
{
113+
return accessor.controllableGetRecipeButtons();
114+
}
115+
return Collections.emptyList();
116+
}
117+
118+
public static boolean mixinIsCraftable(AbstractWidget widget)
119+
{
120+
if(widget instanceof OverlayRecipeButtonAccessor accessor)
121+
{
122+
return accessor.controllableIsCraftable();
123+
}
124+
return false;
125+
}
105126
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ private void controllableRenderTooltipTail(GuiGraphics graphics, int mouseX, int
4444
if(this.minecraft.screen == null || !this.overlay.isVisible())
4545
return;
4646

47-
List<AbstractWidget> recipeButtons = ((OverlayRecipeComponentAccessor) this.overlay).controllableGetRecipeButtons();
47+
List<AbstractWidget> recipeButtons = ClientHelper.mixinGetRecipeButtons(this.overlay);
4848
recipeButtons.stream().filter(AbstractWidget::isHoveredOrFocused).findFirst().ifPresent(btn -> {
49-
if(((OverlayRecipeButtonAccessor) btn).controllableIsCraftable()) {
49+
if(ClientHelper.mixinIsCraftable(btn)) {
5050
Component craftText = Component.translatable("controllable.tooltip.craft", ClientHelper.getButtonComponent(ButtonBindings.PICKUP_ITEM.getButton())).withStyle(ChatFormatting.YELLOW);
5151
graphics.renderTooltip(this.minecraft.font, craftText, mouseX, mouseY);
5252
}

0 commit comments

Comments
 (0)