diff --git a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java index f42d9a025..7163e057f 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawer.java @@ -1,14 +1,10 @@ package com.refinedmods.refinedstorage.api.render; import com.mojang.blaze3d.matrix.MatrixStack; -import com.refinedmods.refinedstorage.api.autocrafting.craftingmonitor.ICraftingMonitorElement; -import com.refinedmods.refinedstorage.api.autocrafting.preview.ICraftingPreviewElement; /** * This {@link FunctionalInterface} is used to define a draw/render function. * This function use x and y coords and the element to draw. - * Usually packaged in a {@link IElementDrawers}. - * Used in {@link ICraftingPreviewElement#draw(int, int, IElementDrawers)} and {@link ICraftingMonitorElement#draw(int, int, IElementDrawers)}. * * @param the element to draw, usually {@link String}, {@link net.minecraft.item.ItemStack} or {@link net.minecraftforge.fluids.FluidStack} */ diff --git a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java index 25551304b..33c82ae2a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/api/render/IElementDrawers.java @@ -1,6 +1,5 @@ package com.refinedmods.refinedstorage.api.render; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; @@ -30,21 +29,16 @@ public interface IElementDrawers { } /** - * @return an overlay drawer, color will be the element + * @return an overlay drawer */ default IElementDrawer getOverlayDrawer() { return getNullDrawer(); } - default IElementDrawer getErrorDrawer() { + default IElementDrawer getErrorDrawer() { return getNullDrawer(); } - /** - * @return the font renderer - */ - FontRenderer getFontRenderer(); - /** * DO NOT OVERRIDE! * diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java index 69e0a8af0..d556001dc 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingMonitorElementDrawers.java @@ -6,32 +6,28 @@ import com.refinedmods.refinedstorage.api.render.IElementDrawer; import com.refinedmods.refinedstorage.container.CraftingMonitorContainer; import com.refinedmods.refinedstorage.screen.BaseScreen; import net.minecraft.client.gui.AbstractGui; -import net.minecraft.client.gui.FontRenderer; -public class CraftingMonitorElementDrawers extends ElementDrawers { - private int itemWidth; - private int itemHeight; +public class CraftingMonitorElementDrawers extends ElementDrawers { + private final IElementDrawer overlayDrawer; + private final IElementDrawer errorDrawer; - private final IElementDrawer overlayDrawer = (matrixStack, x, y, color) -> { - RenderSystem.color4f(1, 1, 1, 1); - RenderSystem.disableLighting(); + public CraftingMonitorElementDrawers(BaseScreen screen, int itemWidth, int itemHeight) { + super(screen); - AbstractGui.fill(matrixStack, x, y, x + itemWidth, y + itemHeight, color); - }; + this.overlayDrawer = (matrixStack, x, y, color) -> { + RenderSystem.color4f(1, 1, 1, 1); + RenderSystem.disableLighting(); - private final IElementDrawer errorDrawer = (matrixStack, x, y, nothing) -> { - RenderSystem.color4f(1, 1, 1, 1); - RenderSystem.disableLighting(); + AbstractGui.fill(matrixStack, x, y, x + itemWidth, y + itemHeight, color); + }; - screen.bindTexture(RS.ID, "gui/crafting_preview.png"); - screen.blit(matrixStack, x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12); - }; + this.errorDrawer = (matrixStack, x, y, nothing) -> { + RenderSystem.color4f(1, 1, 1, 1); + RenderSystem.disableLighting(); - public CraftingMonitorElementDrawers(BaseScreen gui, FontRenderer fontRenderer, int itemWidth, int itemHeight) { - super(gui, fontRenderer); - - this.itemWidth = itemWidth; - this.itemHeight = itemHeight; + screen.bindTexture(RS.ID, "gui/crafting_preview.png"); + screen.blit(matrixStack, x + itemWidth - 12 - 2, y + itemHeight - 12 - 2, 0, 244, 12, 12); + }; } @Override @@ -40,7 +36,7 @@ public class CraftingMonitorElementDrawers extends ElementDrawers { } @Override - public IElementDrawer getErrorDrawer() { + public IElementDrawer getErrorDrawer() { return errorDrawer; } } diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java index a8c57bb1f..694ac15b8 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/CraftingPreviewElementDrawers.java @@ -4,9 +4,9 @@ import com.mojang.blaze3d.systems.RenderSystem; import com.refinedmods.refinedstorage.api.render.IElementDrawer; import com.refinedmods.refinedstorage.screen.grid.CraftingPreviewScreen; import net.minecraft.client.gui.AbstractGui; -import net.minecraft.client.gui.FontRenderer; +import net.minecraft.inventory.container.Container; -public class CraftingPreviewElementDrawers extends ElementDrawers { +public class CraftingPreviewElementDrawers extends ElementDrawers { private final IElementDrawer overlayDrawer = (matrixStack, x, y, color) -> { RenderSystem.color4f(1, 1, 1, 1); RenderSystem.disableLighting(); @@ -14,8 +14,8 @@ public class CraftingPreviewElementDrawers extends ElementDrawers { AbstractGui.fill(matrixStack, x, y, x + 73, y + 29, color); }; - public CraftingPreviewElementDrawers(CraftingPreviewScreen screen, FontRenderer fontRenderer) { - super(screen, fontRenderer); + public CraftingPreviewElementDrawers(CraftingPreviewScreen screen) { + super(screen); } @Override diff --git a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/ElementDrawers.java b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/ElementDrawers.java index 1436ff013..b353726dc 100644 --- a/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/ElementDrawers.java +++ b/src/main/java/com/refinedmods/refinedstorage/apiimpl/render/ElementDrawers.java @@ -4,17 +4,15 @@ import com.refinedmods.refinedstorage.api.render.IElementDrawer; import com.refinedmods.refinedstorage.api.render.IElementDrawers; import com.refinedmods.refinedstorage.render.FluidRenderer; import com.refinedmods.refinedstorage.screen.BaseScreen; -import net.minecraft.client.gui.FontRenderer; +import net.minecraft.inventory.container.Container; import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -public class ElementDrawers implements IElementDrawers { - protected final BaseScreen screen; - private final FontRenderer fontRenderer; +public class ElementDrawers implements IElementDrawers { + protected final BaseScreen screen; - public ElementDrawers(BaseScreen screen, FontRenderer fontRenderer) { + public ElementDrawers(BaseScreen screen) { this.screen = screen; - this.fontRenderer = fontRenderer; } @Override @@ -31,9 +29,4 @@ public class ElementDrawers implements IElementDrawers { public IElementDrawer getStringDrawer() { return screen::renderString; } - - @Override - public FontRenderer getFontRenderer() { - return fontRenderer; - } } diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java index b165f0b9b..f11efdf84 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/CraftingMonitorScreen.java @@ -104,14 +104,14 @@ public class CraftingMonitorScreen extends BaseScreen private List tasks = Collections.emptyList(); private final TabListWidget tabs; - private final IElementDrawers drawers = new CraftingMonitorElementDrawers(this, font, ITEM_WIDTH, ITEM_HEIGHT); + private final IElementDrawers drawers = new CraftingMonitorElementDrawers(this, ITEM_WIDTH, ITEM_HEIGHT); public CraftingMonitorScreen(CraftingMonitorContainer container, PlayerInventory inventory, ITextComponent title) { super(container, 254, 201, inventory, title); this.craftingMonitor = container.getCraftingMonitor(); - this.tabs = new TabListWidget(this, new ElementDrawers(this, font), () -> tasks, () -> (int) Math.floor((float) Math.max(0, tasks.size() - 1) / (float) ICraftingMonitor.TABS_PER_PAGE), craftingMonitor::getTabPage, () -> { + this.tabs = new TabListWidget(this, new ElementDrawers<>(this), () -> tasks, () -> (int) Math.floor((float) Math.max(0, tasks.size() - 1) / (float) ICraftingMonitor.TABS_PER_PAGE), craftingMonitor::getTabPage, () -> { IGridTab tab = getCurrentTab(); if (tab == null) { diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java index 90f5fbceb..94b2c4d2a 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/CraftingPreviewScreen.java @@ -50,7 +50,7 @@ public class CraftingPreviewScreen extends BaseScreen { private ItemStack hoveringStack; private FluidStack hoveringFluid; - private final IElementDrawers drawers = new CraftingPreviewElementDrawers(this, font); + private final IElementDrawers drawers = new CraftingPreviewElementDrawers(this); public CraftingPreviewScreen(Screen parent, List elements, UUID id, int quantity, boolean fluids, ITextComponent title) { super(new Container(null, 0) { diff --git a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java index 7fa0d60e7..3383508b2 100644 --- a/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java +++ b/src/main/java/com/refinedmods/refinedstorage/screen/grid/GridScreen.java @@ -72,7 +72,7 @@ public class GridScreen extends BaseScreen implements IScreenInfo this.grid = grid; this.view = grid.getGridType() == GridType.FLUID ? new FluidGridView(this, getDefaultSorter(), getSorters()) : new ItemGridView(this, getDefaultSorter(), getSorters()); this.wasConnected = this.grid.isGridActive(); - this.tabs = new TabListWidget(this, new ElementDrawers(this, font), grid::getTabs, grid::getTotalTabPages, grid::getTabPage, grid::getTabSelected, IGrid.TABS_PER_PAGE); + this.tabs = new TabListWidget(this, new ElementDrawers<>(this), grid::getTabs, grid::getTotalTabPages, grid::getTabPage, grid::getTabSelected, IGrid.TABS_PER_PAGE); this.tabs.addListener(new TabListWidget.ITabListListener() { @Override public void onSelectionChanged(int tab) {