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 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;

View File

@ -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;

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.ModMenuApi;
import dev.isxander.controlify.gui.screen.ControllerCarouselScreen;
public class ModMenuIntegration implements ModMenuApi {
@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.bindings.EmptyBind;
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;

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.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.controller.joystick.JoystickController;

View File

@ -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")

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.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);

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.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<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);

View File

@ -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;

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.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()

View File

@ -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;

View File

@ -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"