diff --git a/common/src/main/java/dev/ftb/mods/ftblibrary/ui/BaseScreen.java b/common/src/main/java/dev/ftb/mods/ftblibrary/ui/BaseScreen.java index 6b1e374d..0108132f 100644 --- a/common/src/main/java/dev/ftb/mods/ftblibrary/ui/BaseScreen.java +++ b/common/src/main/java/dev/ftb/mods/ftblibrary/ui/BaseScreen.java @@ -35,6 +35,7 @@ public abstract class BaseScreen extends Panel { private long lastClickTime = 0L; private final Deque modalPanels; private Widget focusedWidget = null; + private boolean renderBlur = true; public BaseScreen() { super(null); @@ -104,6 +105,20 @@ public boolean onInit() { return true; } + /** + * @return if the GUI should render a blur effect behind it + */ + public boolean shouldRenderBlur() { + return renderBlur; + } + + /** + * @param renderBlur sets if the GUI should render a blur effect behind it + */ + public void setRenderBlur(boolean renderBlur) { + this.renderBlur = renderBlur; + } + /** * Should the GUI automatically close when Escape (or the inventory key - E by default) is pressed? Override this * to return false if you need to implement custom close behaviour, e.g. a confirmation screen for unsaved changes. @@ -338,6 +353,8 @@ public void drawBackground(GuiGraphics graphics, Theme theme, int x, int y, int theme.drawGui(graphics, x, y, w, h, WidgetType.NORMAL); } + + public boolean drawDefaultBackground(GuiGraphics graphics) { return true; } diff --git a/common/src/main/java/dev/ftb/mods/ftblibrary/ui/ScreenWrapper.java b/common/src/main/java/dev/ftb/mods/ftblibrary/ui/ScreenWrapper.java index 4b197671..415856cc 100644 --- a/common/src/main/java/dev/ftb/mods/ftblibrary/ui/ScreenWrapper.java +++ b/common/src/main/java/dev/ftb/mods/ftblibrary/ui/ScreenWrapper.java @@ -150,6 +150,14 @@ public void renderBackground(GuiGraphics matrixStack, int x, int y, float partia } } + + @Override + protected void renderBlurredBackground(float f) { + if(wrappedGui.shouldRenderBlur()) { + super.renderBlurredBackground(f); + } + } + @Override public void tick() { super.tick();