Skip to content

Commit

Permalink
fix crash with some unknown mod
Browse files Browse the repository at this point in the history
  • Loading branch information
brachy84 committed Sep 15, 2023
1 parent e3e591d commit 3f229d1
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@

import com.cleanroommc.bogosorter.ClientEventHandler;
import com.cleanroommc.bogosorter.common.config.ConfigGui;
import com.cleanroommc.bogosorter.core.mixin.GuiScreenAccessor;
import com.cleanroommc.modularui.drawable.GuiTextures;
import com.cleanroommc.modularui.manager.GuiManager;
import com.cleanroommc.modularui.screen.GuiScreenWrapper;
Expand Down Expand Up @@ -51,7 +50,7 @@ public static void onDrawScreen(GuiScreenEvent.DrawScreenEvent.Pre event) {
for (SlotGroup slotGroup : context.getSlotGroups()) {
if (slotGroup.getPosSetter() == null) continue;
SortButton sortButton = null, settingsButton = null;
for (GuiButton guiButton : ((GuiScreenAccessor) event.getGui()).getButtonList()) {
for (GuiButton guiButton : ((IGuiButtonAccessor) event.getGui()).getButtons()) {
if (guiButton instanceof SortButton) {
SortButton button = (SortButton) guiButton;
if (button.slotGroup == slotGroup) {
Expand All @@ -74,7 +73,7 @@ public static void onDrawScreen(GuiScreenEvent.DrawScreenEvent.Pre event) {
@SubscribeEvent
public static void onDrawScreen(GuiScreenEvent.DrawScreenEvent.Post event) {
if (ClientEventHandler.isSortableContainer(event.getGui()) && !(event.getGui() instanceof GuiScreenWrapper)) {
for (GuiButton guiButton : ((GuiScreenAccessor) event.getGui()).getButtonList()) {
for (GuiButton guiButton : ((IGuiButtonAccessor) event.getGui()).getButtons()) {
if (guiButton instanceof SortButton) {
((SortButton) guiButton).drawTooltip(event.getMouseX(), event.getMouseY());
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.cleanroommc.bogosorter.common.sort;

import net.minecraft.client.gui.GuiButton;

import java.util.List;

public interface IGuiButtonAccessor {

List<GuiButton> getButtons();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package com.cleanroommc.bogosorter.core.mixin;

import com.cleanroommc.bogosorter.common.sort.IGuiButtonAccessor;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.inventory.GuiContainer;
import org.spongepowered.asm.mixin.Mixin;

import java.util.List;

@Mixin(GuiContainer.class)
public class GuiContainerMixin extends GuiScreen implements IGuiButtonAccessor {

@Override
public List<GuiButton> getButtons() {
return buttonList;
}
}

This file was deleted.

2 changes: 1 addition & 1 deletion src/main/resources/mixin.bogosorter.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
],
"client": [
"CreativeSlotMixin",
"GuiContainerMixin",
"GuiEditSignMixin",
"GuiScreenAccessor",
"MixinMinecraft"
]
}

0 comments on commit 3f229d1

Please sign in to comment.