Fixed Refined Storage sidebuttons displaying over the JEI bookmark pagination buttons. Fixes #2711
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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)));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user