diff --git a/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java b/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java index 6c79e3fe9..545548153 100644 --- a/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java +++ b/src/main/java/com/simibubi/create/foundation/config/ui/BaseConfigScreen.java @@ -1,10 +1,10 @@ package com.simibubi.create.foundation.config.ui; -import com.mojang.blaze3d.matrix.MatrixStack; import com.simibubi.create.foundation.config.AllConfigs; import com.simibubi.create.foundation.gui.ScreenOpener; -import com.simibubi.create.foundation.gui.StencilElement; import com.simibubi.create.foundation.gui.TextStencilElement; +import com.simibubi.create.foundation.gui.UIRenderHelper; +import com.simibubi.create.foundation.ponder.ui.PonderButton; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.screen.Screen; @@ -13,9 +13,9 @@ import net.minecraft.util.text.TextFormatting; public class BaseConfigScreen extends ConfigScreen { - ConfigButton clientConfigWidget; - ConfigButton commonConfigWidget; - ConfigButton serverConfigWidget; + PonderButton clientConfigWidget; + PonderButton commonConfigWidget; + PonderButton serverConfigWidget; public BaseConfigScreen(Screen parent) { super(parent); @@ -26,48 +26,31 @@ public class BaseConfigScreen extends ConfigScreen { widgets.clear(); super.init(); - StencilElement text = new TextStencilElement(client.fontRenderer, new StringTextComponent("CLIENT CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); - widgets.add(clientConfigWidget = ConfigButton.createFromStencilElement( - width / 2 - 100, - height / 2 - 15 - 50, - text - ) - .withBounds(200, 30) - .withCallback(() -> ScreenOpener.transitionTo(new SubMenuConfigScreen(this, AllConfigs.CLIENT.specification))) - ); + TextStencilElement text = new TextStencilElement(client.fontRenderer, new StringTextComponent("CLIENT CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); + text.withElementRenderer((ms, width, height) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2, height, width, ConfigButton.Palette.button_idle_1, ConfigButton.Palette.button_idle_2)); + widgets.add(clientConfigWidget = new PonderButton(width / 2 - 100, height / 2 - 15 - 50, (_$, _$$) -> { + ScreenOpener.transitionTo(new SubMenuConfigScreen(this, AllConfigs.CLIENT.specification)); + }, 200, 30).showingUnscaled(text)); + clientConfigWidget.fade(1); - StencilElement text2 = new TextStencilElement(client.fontRenderer, new StringTextComponent("COMMON CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); - widgets.add(commonConfigWidget = ConfigButton.createFromStencilElement( - width / 2 - 100, - height / 2 - 15, - text2 - ) - .withBounds(200, 30) - .withCallback(() -> ScreenOpener.transitionTo(new SubMenuConfigScreen(this, AllConfigs.COMMON.specification))) - ); + TextStencilElement text2 = new TextStencilElement(client.fontRenderer, new StringTextComponent("COMMON CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); + text2.withElementRenderer((ms, width, height) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2, height, width, ConfigButton.Palette.button_idle_1, ConfigButton.Palette.button_idle_2)); + widgets.add(commonConfigWidget = new PonderButton(width / 2 - 100, height / 2 - 15, (_$, _$$) -> { + ScreenOpener.transitionTo(new SubMenuConfigScreen(this, AllConfigs.COMMON.specification)); + }, 200, 30).showingUnscaled(text2)); + commonConfigWidget.fade(1); - StencilElement text3 = new TextStencilElement(client.fontRenderer, new StringTextComponent("SERVER CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); - widgets.add(serverConfigWidget = ConfigButton.createFromStencilElement( - width / 2 - 100, - height / 2 - 15 + 50, - text3 - ) - .withBounds(200, 30) - ); + TextStencilElement text3 = new TextStencilElement(client.fontRenderer, new StringTextComponent("SERVER CONFIG").formatted(TextFormatting.BOLD)).centered(true, true); + text3.withElementRenderer((ms, width, height) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2, height, width, ConfigButton.Palette.button_idle_1, ConfigButton.Palette.button_idle_2)); + widgets.add(serverConfigWidget = new PonderButton(width / 2 - 100, height / 2 - 15 + 50, (_$, _$$) -> { + }, 200, 30).showingUnscaled(text3)); + serverConfigWidget.fade(1); if (Minecraft.getInstance().world != null) { serverConfigWidget.withCallback(() -> ScreenOpener.transitionTo(new ServerSubMenuConfigScreen(this, AllConfigs.SERVER.specification))); } else { serverConfigWidget.active = false; - serverConfigWidget.updateColorsFromState(); + text3.withElementRenderer((ms, width, height) -> UIRenderHelper.angledGradient(ms, 0, 0, height / 2, height, width, ConfigButton.Palette.button_disable_1, ConfigButton.Palette.button_disable_2)); } } - - @Override - protected void renderWindow(MatrixStack ms, int mouseX, int mouseY, float partialTicks) { - super.renderWindow(ms, mouseX, mouseY, partialTicks); - - - //