diff --git a/src/main/java/refinedstorage/gui/GuiBase.java b/src/main/java/refinedstorage/gui/GuiBase.java index 091839e1a..5fb5887da 100755 --- a/src/main/java/refinedstorage/gui/GuiBase.java +++ b/src/main/java/refinedstorage/gui/GuiBase.java @@ -19,11 +19,11 @@ import refinedstorage.gui.sidebutton.SideButton; import refinedstorage.inventory.ItemHandlerFluid; import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; +import java.util.*; public abstract class GuiBase extends GuiContainer { + private static final Map TEXTURE_CACHE = new HashMap<>(); + // @TODO: Don't depend on JEI public static final FluidStackRenderer FLUID_RENDERER = new FluidStackRenderer(Fluid.BUCKET_VOLUME, false, 16, 16, null); @@ -204,7 +204,13 @@ public abstract class GuiBase extends GuiContainer { } public void bindTexture(String base, String file) { - mc.getTextureManager().bindTexture(new ResourceLocation(base, "textures/" + file)); + String id = base + ":" + file; + + if (!TEXTURE_CACHE.containsKey(id)) { + TEXTURE_CACHE.put(id, new ResourceLocation(base, "textures/" + file)); + } + + mc.getTextureManager().bindTexture(TEXTURE_CACHE.get(id)); } public void drawItem(int x, int y, ItemStack stack) { diff --git a/src/main/resources/assets/refinedstorage/textures/gui/fluid_interface.png b/src/main/resources/assets/refinedstorage/textures/gui/fluid_interface.png index b4338e12a..864ca9e79 100755 Binary files a/src/main/resources/assets/refinedstorage/textures/gui/fluid_interface.png and b/src/main/resources/assets/refinedstorage/textures/gui/fluid_interface.png differ