diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index 7137f0a04..b96243123 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -40,7 +40,6 @@ import me.shedaniel.rei.impl.ClientHelperImpl; import me.shedaniel.rei.impl.InternalWidgets; import me.shedaniel.rei.impl.ScreenHelper; import me.shedaniel.rei.impl.Weather; -import me.shedaniel.rei.listeners.ContainerScreenHooks; import me.shedaniel.rei.utils.CollectionUtils; import net.minecraft.block.Blocks; import net.minecraft.client.MinecraftClient; @@ -307,7 +306,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, 3, widget.bounds.width, 18); } - return new Rectangle(((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft(), 3, ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerWidth(), 18); + return new Rectangle(ScreenHelper.getLastHandledScreen().x, 3, ScreenHelper.getLastHandledScreen().backgroundWidth, 18); } return null; } @@ -376,7 +375,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds { VillagerRecipeViewingScreen widget = (VillagerRecipeViewingScreen) MinecraftClient.getInstance().currentScreen; return new Rectangle(widget.bounds.x, window.getScaledHeight() - 22, widget.bounds.width - widthRemoved, 18); } - return new Rectangle(((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerLeft(), window.getScaledHeight() - 22, ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getContainerWidth() - widthRemoved, 18); + return new Rectangle(ScreenHelper.getLastHandledScreen().x, window.getScaledHeight() - 22, ScreenHelper.getLastHandledScreen().backgroundWidth - widthRemoved, 18); } private Rectangle getCraftableToggleArea() { @@ -427,21 +426,21 @@ public class ContainerScreenOverlay extends WidgetWithBounds { if (OverlaySearchField.isSearching) { setZOffset(200); if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen) { - ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen; - int left = hooks.rei_getContainerLeft(), top = hooks.rei_getContainerTop(); - for (Slot slot : ((HandledScreen<?>) MinecraftClient.getInstance().currentScreen).getScreenHandler().slots) + HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; + int x = handledScreen.x, y = handledScreen.y; + for (Slot slot : handledScreen.getScreenHandler().slots) if (!slot.hasStack() || !ENTRY_LIST_WIDGET.canLastSearchTermsBeAppliedTo(EntryStack.create(slot.getStack()))) - fillGradient(left + slot.x, top + slot.y, left + slot.x + 16, top + slot.y + 16, -601874400, -601874400); + fillGradient(x + slot.x, y + slot.y, x + slot.x + 16, y + slot.y + 16, -601874400, -601874400); } setZOffset(0); } RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F); this.renderWidgets(mouseX, mouseY, delta); if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) { - ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen; + HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; for (RecipeHelper.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas()) if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass())) - if (area.getRectangle().contains(mouseX - hooks.rei_getContainerLeft(), mouseY - hooks.rei_getContainerTop())) { + if (area.getRectangle().contains(mouseX - handledScreen.x, mouseY - handledScreen.y)) { String collect = CollectionUtils.mapAndJoinToString(area.getCategories(), identifier -> RecipeHelper.getInstance().getCategory(identifier).getCategoryName(), ", "); TOOLTIPS.add(Tooltip.create(I18n.translate("text.rei.view_recipes_for", collect))); break; @@ -549,9 +548,11 @@ public class ContainerScreenOverlay extends WidgetWithBounds { return true; } ItemStack itemStack = null; - if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen) - if (((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getHoveredSlot() != null && !((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getHoveredSlot().getStack().isEmpty()) - itemStack = ((ContainerScreenHooks) ScreenHelper.getLastHandledScreen()).rei_getHoveredSlot().getStack(); + if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen) { + HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; + if (handledScreen.focusedSlot != null && !handledScreen.focusedSlot.getStack().isEmpty()) + itemStack = handledScreen.focusedSlot.getStack(); + } if (itemStack != null && !itemStack.isEmpty()) { if (ConfigObject.getInstance().getRecipeKeybind().matchesKey(int_1, int_2)) return ClientHelper.getInstance().executeRecipeKeyBind(itemStack); @@ -599,10 +600,10 @@ public class ContainerScreenOverlay extends WidgetWithBounds { return true; } if (MinecraftClient.getInstance().currentScreen instanceof HandledScreen && ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) { - ContainerScreenHooks hooks = (ContainerScreenHooks) MinecraftClient.getInstance().currentScreen; + HandledScreen<?> handledScreen = (HandledScreen<?>) MinecraftClient.getInstance().currentScreen; for (RecipeHelper.ScreenClickArea area : RecipeHelper.getInstance().getScreenClickAreas()) - if (area.getScreenClass().equals(MinecraftClient.getInstance().currentScreen.getClass())) - if (area.getRectangle().contains(double_1 - hooks.rei_getContainerLeft(), double_2 - hooks.rei_getContainerTop())) { + if (area.getScreenClass().equals(handledScreen.getClass())) + if (area.getRectangle().contains(double_1 - handledScreen.x, double_2 - handledScreen.y)) { ClientHelper.getInstance().executeViewAllRecipesFromCategories(Arrays.asList(area.getCategories())); MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F)); return true; |
