Fixed Refined Storage sidebuttons displaying over the JEI bookmark pagination buttons. Fixes #2711

This commit is contained in:
raoulvdberge
2020-10-24 18:59:17 +02:00
parent 771b4e3aea
commit 559c214492
3 changed files with 35 additions and 0 deletions

View File

@@ -1,6 +1,11 @@
# Refined Storage Changelog
### 1.9.9
- Fixed Refined Storage sidebuttons displaying over the JEI bookmark pagination buttons (raoulvdberge)
### 1.9.8
- Fixed server crash when scrolling in Grid (Darkere)
- Fixed various issues with Grid interactions working without power (Darkere)
- Fixed changing rotation not updating blocks (Darkere)

View File

@@ -2,15 +2,37 @@ package com.refinedmods.refinedstorage.integration.jei;
import com.refinedmods.refinedstorage.container.BaseContainer;
import com.refinedmods.refinedstorage.container.slot.filter.FluidFilterSlot;
import com.refinedmods.refinedstorage.screen.BaseScreen;
import com.refinedmods.refinedstorage.screen.grid.GridScreen;
import com.refinedmods.refinedstorage.screen.widget.sidebutton.SideButton;
import com.refinedmods.refinedstorage.util.RenderUtils;
import mezz.jei.api.gui.handlers.IGuiContainerHandler;
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
import net.minecraft.client.renderer.Rectangle2d;
import net.minecraftforge.fluids.FluidStack;
import javax.annotation.Nullable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
public class GuiContainerHandler implements IGuiContainerHandler<ContainerScreen<?>> {
@Override
public List<Rectangle2d> getGuiExtraAreas(ContainerScreen<?> screen) {
if (screen instanceof BaseScreen) {
List<SideButton> sideButtons = ((BaseScreen) screen).getSideButtons();
List<Rectangle2d> rectangles = new ArrayList<>();
for (SideButton sideButton : sideButtons) {
rectangles.add(new Rectangle2d(sideButton.x, sideButton.y, sideButton.getWidth(), sideButton.getHeight()));
}
return rectangles;
}
return Collections.emptyList();
}
@Nullable
@Override
public Object getIngredientUnderMouse(ContainerScreen screen, double mouseX, double mouseY) {

View File

@@ -51,6 +51,8 @@ public abstract class BaseScreen<T extends Container> extends ContainerScreen<T>
private static final ITextComponent ALTERNATIVES_TEXT = new TranslationTextComponent("gui.refinedstorage.alternatives");
private final List<SideButton> sideButtons = new ArrayList<>();
private final Logger logger = LogManager.getLogger(getClass());
private int sideButtonY;
@@ -95,6 +97,7 @@ public abstract class BaseScreen<T extends Container> extends ContainerScreen<T>
}
sideButtonY = 6;
sideButtons.clear();
onPostInit(guiLeft, guiTop);
@@ -271,9 +274,14 @@ public abstract class BaseScreen<T extends Container> extends ContainerScreen<T>
sideButtonY += button.getHeight() + 2;
sideButtons.add(button);
this.addButton(button);
}
public List<SideButton> getSideButtons() {
return sideButtons;
}
public void bindTexture(String namespace, String filenameInTexturesFolder) {
minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(namespace + ":" + filenameInTexturesFolder, newId -> new ResourceLocation(namespace, "textures/" + filenameInTexturesFolder)));
}