1
0
forked from Clones/Controlify

🧹 Refactor gui package

This commit is contained in:
isXander
2023-05-30 14:23:47 +01:00
parent 5639436197
commit 361ceefd6f
14 changed files with 21 additions and 26 deletions

View File

@ -4,8 +4,8 @@ import com.mojang.blaze3d.Blaze3D;
import com.mojang.logging.LogUtils; import com.mojang.logging.LogUtils;
import dev.isxander.controlify.api.ControlifyApi; import dev.isxander.controlify.api.ControlifyApi;
import dev.isxander.controlify.api.entrypoint.ControlifyEntrypoint; import dev.isxander.controlify.api.entrypoint.ControlifyEntrypoint;
import dev.isxander.controlify.config.gui.ControllerBindHandler; import dev.isxander.controlify.gui.controllers.ControllerBindHandler;
import dev.isxander.controlify.config.gui.ControllerCarouselScreen; import dev.isxander.controlify.gui.screen.ControllerCarouselScreen;
import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.Controller;
import dev.isxander.controlify.controller.ControllerState; import dev.isxander.controlify.controller.ControllerState;
import dev.isxander.controlify.controller.sdl2.SDL2NativesManager; import dev.isxander.controlify.controller.sdl2.SDL2NativesManager;

View File

@ -6,8 +6,8 @@ import dev.isxander.controlify.Controlify;
import dev.isxander.controlify.api.bind.BindRenderer; import dev.isxander.controlify.api.bind.BindRenderer;
import dev.isxander.controlify.api.bind.ControllerBinding; import dev.isxander.controlify.api.bind.ControllerBinding;
import dev.isxander.controlify.api.bind.ControllerBindingBuilder; import dev.isxander.controlify.api.bind.ControllerBindingBuilder;
import dev.isxander.controlify.config.gui.GamepadBindController; import dev.isxander.controlify.gui.controllers.GamepadBindController;
import dev.isxander.controlify.config.gui.JoystickBindController; import dev.isxander.controlify.gui.controllers.JoystickBindController;
import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.Controller;
import dev.isxander.controlify.controller.ControllerState; import dev.isxander.controlify.controller.ControllerState;
import dev.isxander.controlify.controller.gamepad.GamepadController; import dev.isxander.controlify.controller.gamepad.GamepadController;

View File

@ -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.ConfigScreenFactory;
import com.terraformersmc.modmenu.api.ModMenuApi; import com.terraformersmc.modmenu.api.ModMenuApi;
import dev.isxander.controlify.gui.screen.ControllerCarouselScreen;
public class ModMenuIntegration implements ModMenuApi { public class ModMenuIntegration implements ModMenuApi {
@Override @Override

View File

@ -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.api.event.ControlifyEvents;
import dev.isxander.controlify.bindings.EmptyBind; import dev.isxander.controlify.bindings.EmptyBind;
import dev.isxander.controlify.bindings.IBind; import dev.isxander.controlify.bindings.IBind;

View File

@ -1,4 +1,4 @@
package dev.isxander.controlify.config.gui; package dev.isxander.controlify.gui.controllers;
import dev.isxander.controlify.api.event.ControlifyEvents; import dev.isxander.controlify.api.event.ControlifyEvents;

View File

@ -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.GamepadBind;
import dev.isxander.controlify.bindings.GamepadBinds; import dev.isxander.controlify.bindings.GamepadBinds;

View File

@ -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.bindings.*;
import dev.isxander.controlify.controller.joystick.JoystickController; import dev.isxander.controlify.controller.joystick.JoystickController;

View File

@ -12,7 +12,6 @@ import net.minecraft.network.chat.CommonComponents;
import net.minecraft.network.chat.Component; import net.minecraft.network.chat.Component;
public class BetaNoticeScreen extends Screen { public class BetaNoticeScreen extends Screen {
private MultiLineTextWidget textWidget;
public BetaNoticeScreen() { public BetaNoticeScreen() {
super(Component.translatable("controlify.beta.title")); super(Component.translatable("controlify.beta.title"));
@ -20,7 +19,7 @@ public class BetaNoticeScreen extends Screen {
@Override @Override
protected void init() { protected void init() {
textWidget = new AccessibilityOnboardingTextWidget( MultiLineTextWidget textWidget = new AccessibilityOnboardingTextWidget(
font, font,
Component.translatable("controlify.beta.message", Component.translatable("controlify.beta.message",
Component.translatable("controlify.beta.message.link") Component.translatable("controlify.beta.message.link")

View File

@ -1,12 +1,10 @@
package dev.isxander.controlify.config.gui; package dev.isxander.controlify.gui.screen;
import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableList;
import com.mojang.blaze3d.platform.InputConstants;
import dev.isxander.controlify.Controlify; import dev.isxander.controlify.Controlify;
import dev.isxander.controlify.ControllerManager; import dev.isxander.controlify.ControllerManager;
import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.Controller;
import dev.isxander.controlify.controller.sdl2.SDL2NativesManager; import dev.isxander.controlify.controller.sdl2.SDL2NativesManager;
import dev.isxander.controlify.gui.screen.SDLOnboardingScreen;
import dev.isxander.controlify.utils.Animator; import dev.isxander.controlify.utils.Animator;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;
import net.minecraft.client.gui.ComponentPath; import net.minecraft.client.gui.ComponentPath;
@ -77,7 +75,7 @@ public class ControllerCarouselScreen extends Screen {
GridLayout grid = new GridLayout().columnSpacing(10); GridLayout grid = new GridLayout().columnSpacing(10);
GridLayout.RowHelper rowHelper = grid.createRowHelper(2); 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()); rowHelper.addChild(Button.builder(CommonComponents.GUI_DONE, btn -> this.onClose()).build());
grid.visitWidgets(widget -> { grid.visitWidgets(widget -> {
widget.setTabOrderGroup(1); widget.setTabOrderGroup(1);
@ -194,7 +192,7 @@ public class ControllerCarouselScreen extends Screen {
this.controller = controller; this.controller = controller;
this.hasNickname = this.controller.config().customName != null; 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.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); this.children = ImmutableList.of(settingsButton, useControllerButton);

View File

@ -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.Controlify;
import dev.isxander.controlify.api.bind.ControllerBinding; 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.gamepad.GamepadController;
import dev.isxander.controlify.controller.joystick.SingleJoystickController; import dev.isxander.controlify.controller.joystick.SingleJoystickController;
import dev.isxander.controlify.controller.joystick.mapping.JoystickMapping; 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.BasicRumbleEffect;
import dev.isxander.controlify.rumble.RumbleSource; import dev.isxander.controlify.rumble.RumbleSource;
import dev.isxander.controlify.rumble.RumbleState; import dev.isxander.controlify.rumble.RumbleState;
@ -31,7 +31,7 @@ import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import java.util.stream.IntStream; import java.util.stream.IntStream;
public class ControllerConfigGui { public class ControllerConfigScreenFactory {
private static final Function<Float, Component> percentFormatter = v -> Component.literal(String.format("%.0f%%", v*100)); private static final Function<Float, Component> percentFormatter = v -> Component.literal(String.format("%.0f%%", v*100));
private static final Function<Float, Component> percentOrOffFormatter = v -> v == 0 ? CommonComponents.OPTION_OFF : percentFormatter.apply(v); private static final Function<Float, Component> percentOrOffFormatter = v -> v == 0 ? CommonComponents.OPTION_OFF : percentFormatter.apply(v);

View File

@ -1,7 +1,5 @@
package dev.isxander.controlify.gui.screen; 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.Controlify;
import dev.isxander.controlify.controller.Controller; import dev.isxander.controlify.controller.Controller;
import net.minecraft.ChatFormatting; import net.minecraft.ChatFormatting;

View File

@ -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.Controlify;
import dev.isxander.controlify.config.GlobalSettings; 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.network.chat.Component;
import net.minecraft.resources.ResourceLocation; import net.minecraft.resources.ResourceLocation;
public class GlobalSettingsGui { public class GlobalSettingsScreenFactory {
public static Screen createGlobalSettingsScreen(Screen parent) { public static Screen createGlobalSettingsScreen(Screen parent) {
var globalSettings = Controlify.instance().config().globalSettings(); var globalSettings = Controlify.instance().config().globalSettings();
return YetAnotherConfigLib.createBuilder() return YetAnotherConfigLib.createBuilder()

View File

@ -1,7 +1,7 @@
package dev.isxander.controlify.mixins.feature.settingsbutton; package dev.isxander.controlify.mixins.feature.settingsbutton;
import com.llamalad7.mixinextras.sugar.Local; 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.Options;
import net.minecraft.client.gui.components.Button; import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.screens.OptionsSubScreen; import net.minecraft.client.gui.screens.OptionsSubScreen;

View File

@ -19,7 +19,7 @@
"com.llamalad7.mixinextras.MixinExtrasBootstrap::init" "com.llamalad7.mixinextras.MixinExtrasBootstrap::init"
], ],
"modmenu": [ "modmenu": [
"dev.isxander.controlify.config.gui.ModMenuIntegration" "dev.isxander.controlify.config.ModMenuIntegration"
], ],
"client": [ "client": [
"dev.isxander.controlify.ControlifyEntrypoint" "dev.isxander.controlify.ControlifyEntrypoint"