From 361ceefd6fc743d4c013109e9803fbf1e1048a8a Mon Sep 17 00:00:00 2001 From: isXander Date: Tue, 30 May 2023 14:23:47 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B9=20Refactor=20gui=20package?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/dev/isxander/controlify/Controlify.java | 4 ++-- .../controlify/bindings/ControllerBindingImpl.java | 4 ++-- .../controlify/config/{gui => }/ModMenuIntegration.java | 3 ++- .../gui => gui/controllers}/AbstractBindController.java | 3 +-- .../gui => gui/controllers}/ControllerBindHandler.java | 2 +- .../gui => gui/controllers}/GamepadBindController.java | 2 +- .../gui => gui/controllers}/JoystickBindController.java | 2 +- .../isxander/controlify/gui/screen/BetaNoticeScreen.java | 3 +-- .../gui => gui/screen}/ControllerCarouselScreen.java | 8 +++----- .../screen/ControllerConfigScreenFactory.java} | 6 +++--- .../gui/screen/ControllerDeadzoneCalibrationScreen.java | 2 -- .../screen/GlobalSettingsScreenFactory.java} | 4 ++-- .../feature/settingsbutton/ControlsScreenMixin.java | 2 +- src/main/resources/fabric.mod.json | 2 +- 14 files changed, 21 insertions(+), 26 deletions(-) rename src/main/java/dev/isxander/controlify/config/{gui => }/ModMenuIntegration.java (74%) rename src/main/java/dev/isxander/controlify/{config/gui => gui/controllers}/AbstractBindController.java (98%) rename src/main/java/dev/isxander/controlify/{config/gui => gui/controllers}/ControllerBindHandler.java (92%) rename src/main/java/dev/isxander/controlify/{config/gui => gui/controllers}/GamepadBindController.java (97%) rename src/main/java/dev/isxander/controlify/{config/gui => gui/controllers}/JoystickBindController.java (98%) rename src/main/java/dev/isxander/controlify/{config/gui => gui/screen}/ControllerCarouselScreen.java (97%) rename src/main/java/dev/isxander/controlify/{config/gui/ControllerConfigGui.java => gui/screen/ControllerConfigScreenFactory.java} (99%) rename src/main/java/dev/isxander/controlify/{config/gui/GlobalSettingsGui.java => gui/screen/GlobalSettingsScreenFactory.java} (98%) diff --git a/src/main/java/dev/isxander/controlify/Controlify.java b/src/main/java/dev/isxander/controlify/Controlify.java index c9c967e..3978e43 100644 --- a/src/main/java/dev/isxander/controlify/Controlify.java +++ b/src/main/java/dev/isxander/controlify/Controlify.java @@ -4,8 +4,8 @@ import com.mojang.blaze3d.Blaze3D; import com.mojang.logging.LogUtils; import dev.isxander.controlify.api.ControlifyApi; import dev.isxander.controlify.api.entrypoint.ControlifyEntrypoint; -import dev.isxander.controlify.config.gui.ControllerBindHandler; -import dev.isxander.controlify.config.gui.ControllerCarouselScreen; +import dev.isxander.controlify.gui.controllers.ControllerBindHandler; +import dev.isxander.controlify.gui.screen.ControllerCarouselScreen; import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.ControllerState; import dev.isxander.controlify.controller.sdl2.SDL2NativesManager; diff --git a/src/main/java/dev/isxander/controlify/bindings/ControllerBindingImpl.java b/src/main/java/dev/isxander/controlify/bindings/ControllerBindingImpl.java index 911bf0a..67befdc 100644 --- a/src/main/java/dev/isxander/controlify/bindings/ControllerBindingImpl.java +++ b/src/main/java/dev/isxander/controlify/bindings/ControllerBindingImpl.java @@ -6,8 +6,8 @@ import dev.isxander.controlify.Controlify; import dev.isxander.controlify.api.bind.BindRenderer; import dev.isxander.controlify.api.bind.ControllerBinding; import dev.isxander.controlify.api.bind.ControllerBindingBuilder; -import dev.isxander.controlify.config.gui.GamepadBindController; -import dev.isxander.controlify.config.gui.JoystickBindController; +import dev.isxander.controlify.gui.controllers.GamepadBindController; +import dev.isxander.controlify.gui.controllers.JoystickBindController; import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.ControllerState; import dev.isxander.controlify.controller.gamepad.GamepadController; diff --git a/src/main/java/dev/isxander/controlify/config/gui/ModMenuIntegration.java b/src/main/java/dev/isxander/controlify/config/ModMenuIntegration.java similarity index 74% rename from src/main/java/dev/isxander/controlify/config/gui/ModMenuIntegration.java rename to src/main/java/dev/isxander/controlify/config/ModMenuIntegration.java index 61038fa..0949a54 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/ModMenuIntegration.java +++ b/src/main/java/dev/isxander/controlify/config/ModMenuIntegration.java @@ -1,7 +1,8 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.config; import com.terraformersmc.modmenu.api.ConfigScreenFactory; import com.terraformersmc.modmenu.api.ModMenuApi; +import dev.isxander.controlify.gui.screen.ControllerCarouselScreen; public class ModMenuIntegration implements ModMenuApi { @Override diff --git a/src/main/java/dev/isxander/controlify/config/gui/AbstractBindController.java b/src/main/java/dev/isxander/controlify/gui/controllers/AbstractBindController.java similarity index 98% rename from src/main/java/dev/isxander/controlify/config/gui/AbstractBindController.java rename to src/main/java/dev/isxander/controlify/gui/controllers/AbstractBindController.java index 1f92120..81281df 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/AbstractBindController.java +++ b/src/main/java/dev/isxander/controlify/gui/controllers/AbstractBindController.java @@ -1,6 +1,5 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.controllers; -import com.mojang.blaze3d.vertex.PoseStack; import dev.isxander.controlify.api.event.ControlifyEvents; import dev.isxander.controlify.bindings.EmptyBind; import dev.isxander.controlify.bindings.IBind; diff --git a/src/main/java/dev/isxander/controlify/config/gui/ControllerBindHandler.java b/src/main/java/dev/isxander/controlify/gui/controllers/ControllerBindHandler.java similarity index 92% rename from src/main/java/dev/isxander/controlify/config/gui/ControllerBindHandler.java rename to src/main/java/dev/isxander/controlify/gui/controllers/ControllerBindHandler.java index 6d96f2b..c104eee 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/ControllerBindHandler.java +++ b/src/main/java/dev/isxander/controlify/gui/controllers/ControllerBindHandler.java @@ -1,4 +1,4 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.controllers; import dev.isxander.controlify.api.event.ControlifyEvents; diff --git a/src/main/java/dev/isxander/controlify/config/gui/GamepadBindController.java b/src/main/java/dev/isxander/controlify/gui/controllers/GamepadBindController.java similarity index 97% rename from src/main/java/dev/isxander/controlify/config/gui/GamepadBindController.java rename to src/main/java/dev/isxander/controlify/gui/controllers/GamepadBindController.java index e8eecc6..d6a8dd9 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/GamepadBindController.java +++ b/src/main/java/dev/isxander/controlify/gui/controllers/GamepadBindController.java @@ -1,4 +1,4 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.controllers; import dev.isxander.controlify.bindings.GamepadBind; import dev.isxander.controlify.bindings.GamepadBinds; diff --git a/src/main/java/dev/isxander/controlify/config/gui/JoystickBindController.java b/src/main/java/dev/isxander/controlify/gui/controllers/JoystickBindController.java similarity index 98% rename from src/main/java/dev/isxander/controlify/config/gui/JoystickBindController.java rename to src/main/java/dev/isxander/controlify/gui/controllers/JoystickBindController.java index f477055..b1c8fa9 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/JoystickBindController.java +++ b/src/main/java/dev/isxander/controlify/gui/controllers/JoystickBindController.java @@ -1,4 +1,4 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.controllers; import dev.isxander.controlify.bindings.*; import dev.isxander.controlify.controller.joystick.JoystickController; diff --git a/src/main/java/dev/isxander/controlify/gui/screen/BetaNoticeScreen.java b/src/main/java/dev/isxander/controlify/gui/screen/BetaNoticeScreen.java index 43de7f4..a06868a 100644 --- a/src/main/java/dev/isxander/controlify/gui/screen/BetaNoticeScreen.java +++ b/src/main/java/dev/isxander/controlify/gui/screen/BetaNoticeScreen.java @@ -12,7 +12,6 @@ import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; public class BetaNoticeScreen extends Screen { - private MultiLineTextWidget textWidget; public BetaNoticeScreen() { super(Component.translatable("controlify.beta.title")); @@ -20,7 +19,7 @@ public class BetaNoticeScreen extends Screen { @Override protected void init() { - textWidget = new AccessibilityOnboardingTextWidget( + MultiLineTextWidget textWidget = new AccessibilityOnboardingTextWidget( font, Component.translatable("controlify.beta.message", Component.translatable("controlify.beta.message.link") diff --git a/src/main/java/dev/isxander/controlify/config/gui/ControllerCarouselScreen.java b/src/main/java/dev/isxander/controlify/gui/screen/ControllerCarouselScreen.java similarity index 97% rename from src/main/java/dev/isxander/controlify/config/gui/ControllerCarouselScreen.java rename to src/main/java/dev/isxander/controlify/gui/screen/ControllerCarouselScreen.java index b20b7fb..80ee347 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/ControllerCarouselScreen.java +++ b/src/main/java/dev/isxander/controlify/gui/screen/ControllerCarouselScreen.java @@ -1,12 +1,10 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.screen; import com.google.common.collect.ImmutableList; -import com.mojang.blaze3d.platform.InputConstants; import dev.isxander.controlify.Controlify; import dev.isxander.controlify.ControllerManager; import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.sdl2.SDL2NativesManager; -import dev.isxander.controlify.gui.screen.SDLOnboardingScreen; import dev.isxander.controlify.utils.Animator; import net.minecraft.ChatFormatting; import net.minecraft.client.gui.ComponentPath; @@ -77,7 +75,7 @@ public class ControllerCarouselScreen extends Screen { GridLayout grid = new GridLayout().columnSpacing(10); GridLayout.RowHelper rowHelper = grid.createRowHelper(2); - rowHelper.addChild(Button.builder(Component.translatable("controlify.gui.global_settings.title"), btn -> minecraft.setScreen(GlobalSettingsGui.createGlobalSettingsScreen(this))).build()); + rowHelper.addChild(Button.builder(Component.translatable("controlify.gui.global_settings.title"), btn -> minecraft.setScreen(GlobalSettingsScreenFactory.createGlobalSettingsScreen(this))).build()); rowHelper.addChild(Button.builder(CommonComponents.GUI_DONE, btn -> this.onClose()).build()); grid.visitWidgets(widget -> { widget.setTabOrderGroup(1); @@ -194,7 +192,7 @@ public class ControllerCarouselScreen extends Screen { this.controller = controller; this.hasNickname = this.controller.config().customName != null; - this.settingsButton = Button.builder(Component.translatable("controlify.gui.carousel.entry.settings"), btn -> minecraft.setScreen(ControllerConfigGui.generateConfigScreen(ControllerCarouselScreen.this, controller))).width(getWidth() / 2 - 4).build(); + this.settingsButton = Button.builder(Component.translatable("controlify.gui.carousel.entry.settings"), btn -> minecraft.setScreen(ControllerConfigScreenFactory.generateConfigScreen(ControllerCarouselScreen.this, controller))).width((getWidth() - 2) / 2 - 2).build(); this.useControllerButton = Button.builder(Component.translatable("controlify.gui.carousel.entry.use"), btn -> Controlify.instance().setCurrentController(controller)).width(settingsButton.getWidth()).build(); this.children = ImmutableList.of(settingsButton, useControllerButton); diff --git a/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java b/src/main/java/dev/isxander/controlify/gui/screen/ControllerConfigScreenFactory.java similarity index 99% rename from src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java rename to src/main/java/dev/isxander/controlify/gui/screen/ControllerConfigScreenFactory.java index 4fb126b..cb45a1c 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/ControllerConfigGui.java +++ b/src/main/java/dev/isxander/controlify/gui/screen/ControllerConfigScreenFactory.java @@ -1,4 +1,4 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.screen; import dev.isxander.controlify.Controlify; import dev.isxander.controlify.api.bind.ControllerBinding; @@ -9,7 +9,7 @@ import dev.isxander.controlify.controller.ControllerConfig; import dev.isxander.controlify.controller.gamepad.GamepadController; import dev.isxander.controlify.controller.joystick.SingleJoystickController; import dev.isxander.controlify.controller.joystick.mapping.JoystickMapping; -import dev.isxander.controlify.gui.screen.ControllerDeadzoneCalibrationScreen; +import dev.isxander.controlify.gui.controllers.AbstractBindController; import dev.isxander.controlify.rumble.BasicRumbleEffect; import dev.isxander.controlify.rumble.RumbleSource; import dev.isxander.controlify.rumble.RumbleState; @@ -31,7 +31,7 @@ import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.IntStream; -public class ControllerConfigGui { +public class ControllerConfigScreenFactory { private static final Function percentFormatter = v -> Component.literal(String.format("%.0f%%", v*100)); private static final Function percentOrOffFormatter = v -> v == 0 ? CommonComponents.OPTION_OFF : percentFormatter.apply(v); diff --git a/src/main/java/dev/isxander/controlify/gui/screen/ControllerDeadzoneCalibrationScreen.java b/src/main/java/dev/isxander/controlify/gui/screen/ControllerDeadzoneCalibrationScreen.java index fe0bf62..d70cda9 100644 --- a/src/main/java/dev/isxander/controlify/gui/screen/ControllerDeadzoneCalibrationScreen.java +++ b/src/main/java/dev/isxander/controlify/gui/screen/ControllerDeadzoneCalibrationScreen.java @@ -1,7 +1,5 @@ package dev.isxander.controlify.gui.screen; -import com.mojang.blaze3d.systems.RenderSystem; -import com.mojang.blaze3d.vertex.PoseStack; import dev.isxander.controlify.Controlify; import dev.isxander.controlify.controller.Controller; import net.minecraft.ChatFormatting; diff --git a/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java b/src/main/java/dev/isxander/controlify/gui/screen/GlobalSettingsScreenFactory.java similarity index 98% rename from src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java rename to src/main/java/dev/isxander/controlify/gui/screen/GlobalSettingsScreenFactory.java index 87348af..2449326 100644 --- a/src/main/java/dev/isxander/controlify/config/gui/GlobalSettingsGui.java +++ b/src/main/java/dev/isxander/controlify/gui/screen/GlobalSettingsScreenFactory.java @@ -1,4 +1,4 @@ -package dev.isxander.controlify.config.gui; +package dev.isxander.controlify.gui.screen; import dev.isxander.controlify.Controlify; import dev.isxander.controlify.config.GlobalSettings; @@ -13,7 +13,7 @@ import net.minecraft.client.gui.screens.Screen; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; -public class GlobalSettingsGui { +public class GlobalSettingsScreenFactory { public static Screen createGlobalSettingsScreen(Screen parent) { var globalSettings = Controlify.instance().config().globalSettings(); return YetAnotherConfigLib.createBuilder() diff --git a/src/main/java/dev/isxander/controlify/mixins/feature/settingsbutton/ControlsScreenMixin.java b/src/main/java/dev/isxander/controlify/mixins/feature/settingsbutton/ControlsScreenMixin.java index 752b4b9..2bd678d 100644 --- a/src/main/java/dev/isxander/controlify/mixins/feature/settingsbutton/ControlsScreenMixin.java +++ b/src/main/java/dev/isxander/controlify/mixins/feature/settingsbutton/ControlsScreenMixin.java @@ -1,7 +1,7 @@ package dev.isxander.controlify.mixins.feature.settingsbutton; import com.llamalad7.mixinextras.sugar.Local; -import dev.isxander.controlify.config.gui.ControllerCarouselScreen; +import dev.isxander.controlify.gui.screen.ControllerCarouselScreen; import net.minecraft.client.Options; import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.screens.OptionsSubScreen; diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json index b4e47dd..9383193 100644 --- a/src/main/resources/fabric.mod.json +++ b/src/main/resources/fabric.mod.json @@ -19,7 +19,7 @@ "com.llamalad7.mixinextras.MixinExtrasBootstrap::init" ], "modmenu": [ - "dev.isxander.controlify.config.gui.ModMenuIntegration" + "dev.isxander.controlify.config.ModMenuIntegration" ], "client": [ "dev.isxander.controlify.ControlifyEntrypoint"