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
|
# Refined Storage Changelog
|
||||||
|
|
||||||
|
### 1.9.9
|
||||||
|
|
||||||
|
- Fixed Refined Storage sidebuttons displaying over the JEI bookmark pagination buttons (raoulvdberge)
|
||||||
|
|
||||||
### 1.9.8
|
### 1.9.8
|
||||||
|
|
||||||
- Fixed server crash when scrolling in Grid (Darkere)
|
- Fixed server crash when scrolling in Grid (Darkere)
|
||||||
- Fixed various issues with Grid interactions working without power (Darkere)
|
- Fixed various issues with Grid interactions working without power (Darkere)
|
||||||
- Fixed changing rotation not updating blocks (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.BaseContainer;
|
||||||
import com.refinedmods.refinedstorage.container.slot.filter.FluidFilterSlot;
|
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.grid.GridScreen;
|
||||||
|
import com.refinedmods.refinedstorage.screen.widget.sidebutton.SideButton;
|
||||||
import com.refinedmods.refinedstorage.util.RenderUtils;
|
import com.refinedmods.refinedstorage.util.RenderUtils;
|
||||||
import mezz.jei.api.gui.handlers.IGuiContainerHandler;
|
import mezz.jei.api.gui.handlers.IGuiContainerHandler;
|
||||||
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
|
import net.minecraft.client.gui.screen.inventory.ContainerScreen;
|
||||||
|
import net.minecraft.client.renderer.Rectangle2d;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
|
|
||||||
import javax.annotation.Nullable;
|
import javax.annotation.Nullable;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Collections;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public class GuiContainerHandler implements IGuiContainerHandler<ContainerScreen<?>> {
|
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
|
@Nullable
|
||||||
@Override
|
@Override
|
||||||
public Object getIngredientUnderMouse(ContainerScreen screen, double mouseX, double mouseY) {
|
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 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 final Logger logger = LogManager.getLogger(getClass());
|
||||||
|
|
||||||
private int sideButtonY;
|
private int sideButtonY;
|
||||||
@@ -95,6 +97,7 @@ public abstract class BaseScreen<T extends Container> extends ContainerScreen<T>
|
|||||||
}
|
}
|
||||||
|
|
||||||
sideButtonY = 6;
|
sideButtonY = 6;
|
||||||
|
sideButtons.clear();
|
||||||
|
|
||||||
onPostInit(guiLeft, guiTop);
|
onPostInit(guiLeft, guiTop);
|
||||||
|
|
||||||
@@ -271,9 +274,14 @@ public abstract class BaseScreen<T extends Container> extends ContainerScreen<T>
|
|||||||
|
|
||||||
sideButtonY += button.getHeight() + 2;
|
sideButtonY += button.getHeight() + 2;
|
||||||
|
|
||||||
|
sideButtons.add(button);
|
||||||
this.addButton(button);
|
this.addButton(button);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public List<SideButton> getSideButtons() {
|
||||||
|
return sideButtons;
|
||||||
|
}
|
||||||
|
|
||||||
public void bindTexture(String namespace, String filenameInTexturesFolder) {
|
public void bindTexture(String namespace, String filenameInTexturesFolder) {
|
||||||
minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(namespace + ":" + filenameInTexturesFolder, newId -> new ResourceLocation(namespace, "textures/" + filenameInTexturesFolder)));
|
minecraft.getTextureManager().bindTexture(TEXTURE_CACHE.computeIfAbsent(namespace + ":" + filenameInTexturesFolder, newId -> new ResourceLocation(namespace, "textures/" + filenameInTexturesFolder)));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user