From bee7dee25614c28a51ba244d81368cb501a3c6f3 Mon Sep 17 00:00:00 2001 From: chylex <contact@chylex.com> Date: Thu, 15 Oct 2020 12:13:18 +0200 Subject: [PATCH] Add core files w/ config serialization, options screen, and keybind registration --- logo.afdesign | Bin 0 -> 91709 bytes .../bettercontrols/BetterControlsMod.java | 11 ++ .../config/BetterControlsConfig.java | 26 ++++ .../config/ConfigSerializer.java | 62 +++++++++ .../chylex/bettercontrols/config/Json.java | 54 ++++++++ .../gui/BetterControlsScreen.java | 104 +++++++++++++++ .../gui/ControlsScreenPatcher.java | 36 +++++ .../bettercontrols/gui/OptionListWidget.java | 126 ++++++++++++++++++ .../gui/elements/BooleanValueWidget.java | 27 ++++ .../gui/elements/CycleButtonWidget.java | 36 +++++ .../elements/DiscreteValueSliderWidget.java | 41 ++++++ .../gui/elements/KeyBindingWidget.java | 89 +++++++++++++ .../bettercontrols/gui/elements/Option.java | 26 ++++ .../gui/elements/TextWidget.java | 73 ++++++++++ .../input/KeyBindingWithModifier.java | 33 +++++ .../bettercontrols/input/ModifierKey.java | 42 ++++++ .../mixin/AccessKeyBindingFields.java | 13 ++ .../mixin/AccessScreenButtons.java | 16 +++ .../mixin/HookLoadGameOptions.java | 34 +++++ .../bettercontrols/mixin/HookOpenScreen.java | 22 +++ .../resources/assets/bettercontrols/icon.png | Bin 0 -> 21941 bytes .../assets/bettercontrols/lang/en_us.json | 3 + src/main/resources/fabric.mod.json | 36 +++++ src/main/resources/mixins.json | 15 +++ 24 files changed, 925 insertions(+) create mode 100644 logo.afdesign create mode 100644 src/main/java/chylex/bettercontrols/BetterControlsMod.java create mode 100644 src/main/java/chylex/bettercontrols/config/BetterControlsConfig.java create mode 100644 src/main/java/chylex/bettercontrols/config/ConfigSerializer.java create mode 100644 src/main/java/chylex/bettercontrols/config/Json.java create mode 100644 src/main/java/chylex/bettercontrols/gui/BetterControlsScreen.java create mode 100644 src/main/java/chylex/bettercontrols/gui/ControlsScreenPatcher.java create mode 100644 src/main/java/chylex/bettercontrols/gui/OptionListWidget.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/BooleanValueWidget.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/CycleButtonWidget.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/DiscreteValueSliderWidget.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/KeyBindingWidget.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/Option.java create mode 100644 src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java create mode 100644 src/main/java/chylex/bettercontrols/input/KeyBindingWithModifier.java create mode 100644 src/main/java/chylex/bettercontrols/input/ModifierKey.java create mode 100644 src/main/java/chylex/bettercontrols/mixin/AccessKeyBindingFields.java create mode 100644 src/main/java/chylex/bettercontrols/mixin/AccessScreenButtons.java create mode 100644 src/main/java/chylex/bettercontrols/mixin/HookLoadGameOptions.java create mode 100644 src/main/java/chylex/bettercontrols/mixin/HookOpenScreen.java create mode 100644 src/main/resources/assets/bettercontrols/icon.png create mode 100644 src/main/resources/assets/bettercontrols/lang/en_us.json create mode 100644 src/main/resources/fabric.mod.json create mode 100644 src/main/resources/mixins.json diff --git a/logo.afdesign b/logo.afdesign new file mode 100644 index 0000000000000000000000000000000000000000..268a6ad451113e57d5e1ce8eebab5ae5362b64b1 GIT binary patch literal 91709 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%0D@Kn!$qXzxGhd$klcU?SR*J}KssLJWnff_OBL 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 literal 0 HcmV?d00001 diff --git a/src/main/java/chylex/bettercontrols/BetterControlsMod.java b/src/main/java/chylex/bettercontrols/BetterControlsMod.java new file mode 100644 index 0000000..09141bf --- /dev/null +++ b/src/main/java/chylex/bettercontrols/BetterControlsMod.java @@ -0,0 +1,11 @@ +package chylex.bettercontrols; +import chylex.bettercontrols.config.BetterControlsConfig; +import net.fabricmc.api.ClientModInitializer; +import net.fabricmc.loader.api.FabricLoader; + +public final class BetterControlsMod implements ClientModInitializer{ + public static final BetterControlsConfig config = BetterControlsConfig.load(FabricLoader.getInstance().getConfigDir().resolve("BetterControls.json")); + + @Override + public void onInitializeClient(){} +} diff --git a/src/main/java/chylex/bettercontrols/config/BetterControlsConfig.java b/src/main/java/chylex/bettercontrols/config/BetterControlsConfig.java new file mode 100644 index 0000000..e790bb5 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/config/BetterControlsConfig.java @@ -0,0 +1,26 @@ +package chylex.bettercontrols.config; +import net.minecraft.client.options.KeyBinding; +import java.nio.file.Path; + +public final class BetterControlsConfig{ + public static BetterControlsConfig load(final Path path){ + return ConfigSerializer.deserialize(path).setPath(path); + } + + private Path path; + + BetterControlsConfig(){} + + private BetterControlsConfig setPath(final Path path){ + this.path = path; + return this; + } + + public KeyBinding[] getAllKeyBindings(){ + return new KeyBinding[0]; + } + + public void save(){ + ConfigSerializer.serialize(path, this); + } +} diff --git a/src/main/java/chylex/bettercontrols/config/ConfigSerializer.java b/src/main/java/chylex/bettercontrols/config/ConfigSerializer.java new file mode 100644 index 0000000..fc50a7b --- /dev/null +++ b/src/main/java/chylex/bettercontrols/config/ConfigSerializer.java @@ -0,0 +1,62 @@ +package chylex.bettercontrols.config; +import com.google.gson.Gson; +import com.google.gson.GsonBuilder; +import com.google.gson.JsonDeserializationContext; +import com.google.gson.JsonDeserializer; +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParseException; +import com.google.gson.JsonSerializationContext; +import com.google.gson.JsonSerializer; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import java.io.FileNotFoundException; +import java.io.IOException; +import java.lang.reflect.Type; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.NoSuchFileException; +import java.nio.file.Path; + +final class ConfigSerializer implements JsonSerializer<BetterControlsConfig>, JsonDeserializer<BetterControlsConfig>{ + private static final Logger logger = LogManager.getLogger(); + private static final Gson gson = new GsonBuilder().registerTypeAdapter(BetterControlsConfig.class, new ConfigSerializer()).setPrettyPrinting().create(); + + private ConfigSerializer(){} + + @Override + public JsonElement serialize(final BetterControlsConfig cfg, final Type typeOfSrc, final JsonSerializationContext context){ + final JsonObject obj = new JsonObject(); + + return obj; + } + + @Override + public BetterControlsConfig deserialize(final JsonElement json, final Type typeOfT, final JsonDeserializationContext context) throws JsonParseException{ + final BetterControlsConfig cfg = new BetterControlsConfig(); + final JsonObject obj = json.getAsJsonObject(); + + return cfg; + } + + static void serialize(final Path path, final BetterControlsConfig config){ + try(final JsonWriter writer = gson.newJsonWriter(Files.newBufferedWriter(path, StandardCharsets.UTF_8))){ + gson.getAdapter(BetterControlsConfig.class).write(writer, config); + }catch(final IOException e){ + logger.error("Error saving BetterControls configuration file!", e); + } + } + + static BetterControlsConfig deserialize(final Path path){ + try(final JsonReader jsonReader = new JsonReader(Files.newBufferedReader(path, StandardCharsets.UTF_8))){ + return gson.getAdapter(BetterControlsConfig.class).read(jsonReader); + }catch(final FileNotFoundException | NoSuchFileException ignored){ + }catch(final IOException e){ + logger.error("Error reading BetterControls configuration file!", e); + } + + return new BetterControlsConfig(); + } +} diff --git a/src/main/java/chylex/bettercontrols/config/Json.java b/src/main/java/chylex/bettercontrols/config/Json.java new file mode 100644 index 0000000..7efb7d3 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/config/Json.java @@ -0,0 +1,54 @@ +package chylex.bettercontrols.config; +import chylex.bettercontrols.input.KeyBindingWithModifier; +import chylex.bettercontrols.input.ModifierKey; +import com.google.gson.JsonObject; +import net.minecraft.client.util.InputUtil; + +final class Json{ + private Json(){} + + static void setInt(final JsonObject obj, final String key, final int value){ + obj.addProperty(key, Integer.valueOf(value)); + } + + static int getInt(final JsonObject obj, final String key, final int defaultValue){ + return obj.has(key) ? obj.get(key).getAsInt() : defaultValue; + } + + static void setFloat(final JsonObject obj, final String key, final float value){ + obj.addProperty(key, Float.valueOf(value)); + } + + static float getFloat(final JsonObject obj, final String key, final float defaultValue){ + return obj.has(key) ? obj.get(key).getAsFloat() : defaultValue; + } + + static void setBool(final JsonObject obj, final String key, final boolean value){ + obj.addProperty(key, Boolean.valueOf(value)); + } + + static boolean getBool(final JsonObject obj, final String key, final boolean defaultValue){ + return obj.has(key) ? obj.get(key).getAsBoolean() : defaultValue; + } + + private static final String KEY_SUFFIX = ".Key"; + private static final String MOD_SUFFIX = ".Mod"; + + static void writeKeyBinding(final JsonObject obj, final String key, final KeyBindingWithModifier keyBinding){ + obj.addProperty(key + KEY_SUFFIX, keyBinding.getBoundKeyTranslationKey()); + + if (keyBinding.getModifier() != null){ + obj.addProperty(key + MOD_SUFFIX, Integer.valueOf(keyBinding.getModifier().id)); + } + } + + static void readKeyBinding(final JsonObject obj, final String key, final KeyBindingWithModifier keyBinding){ + if (obj.has(key + KEY_SUFFIX)){ + keyBinding.setBoundKey(InputUtil.fromTranslationKey(obj.get(key + KEY_SUFFIX).getAsString())); + } + + if (obj.has(key + MOD_SUFFIX)){ + keyBinding.setModifier(ModifierKey.getById(obj.get(key + MOD_SUFFIX).getAsInt())); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/BetterControlsScreen.java b/src/main/java/chylex/bettercontrols/gui/BetterControlsScreen.java new file mode 100644 index 0000000..cc80a80 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/BetterControlsScreen.java @@ -0,0 +1,104 @@ +package chylex.bettercontrols.gui; +import chylex.bettercontrols.BetterControlsMod; +import chylex.bettercontrols.gui.elements.KeyBindingWidget; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.Element; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.ScreenTexts; +import net.minecraft.client.gui.screen.options.GameOptionsScreen; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.options.KeyBinding; +import net.minecraft.client.util.InputUtil; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; +import org.lwjgl.glfw.GLFW; +import java.util.ArrayList; +import java.util.List; + +public class BetterControlsScreen extends GameOptionsScreen{ + public static final LiteralText TITLE = new LiteralText("Better Controls"); + + private static final int BOTTOM_PADDING = 3; + private static final int TEXT_PADDING_RIGHT = 4; + private static final int TITLE_MARGIN_TOP = 3; + private static final int ROW_HEIGHT = 22; + + private OptionListWidget optionsWidget; + private KeyBindingWidget editingKeyBinding; + private final List<KeyBindingWidget> allKeyBindings = new ArrayList<>(); + + public BetterControlsScreen(final Screen parentScreen){ + super(parentScreen, MinecraftClient.getInstance().options, TITLE); + } + + @Override + public void init(){ + allKeyBindings.clear(); + + final List<Element> elements = new ArrayList<>(); + int y = 0; + + addButton(new ButtonWidget(width / 2 - 99, height - 29, 200, 20, ScreenTexts.DONE, btn -> client.openScreen(parent))); + addChild(optionsWidget = new OptionListWidget(21, height - 32, width, height, elements, y - TITLE_MARGIN_TOP + BOTTOM_PADDING)); + } + + @Override + public void removed(){ + BetterControlsMod.config.save(); + } + + @Override + public void render(final MatrixStack matrices, final int mouseX, final int mouseY, final float delta){ + renderBackground(matrices); + optionsWidget.render(matrices, mouseX, mouseY, delta); + drawCenteredText(matrices, textRenderer, title, width / 2, 8, (255 << 16) | (255 << 8) | 255); + super.render(matrices, mouseX, mouseY, delta); + } + + private void startEditingKeyBinding(final KeyBindingWidget widget){ + if (editingKeyBinding != null){ + editingKeyBinding.stopEditing(); + } + + editingKeyBinding = widget; + } + + @Override + public boolean mouseClicked(final double mouseX, final double mouseY, final int button){ + if (editingKeyBinding != null){ + editingKeyBinding.bindAndStopEditing(InputUtil.Type.MOUSE.createFromCode(button)); + onKeyBindingEditingFinished(); + return true; + } + else{ + return super.mouseClicked(mouseX, mouseY, button); + } + } + + @Override + public boolean keyPressed(final int keyCode, final int scanCode, final int modifiers){ + if (editingKeyBinding != null){ + if (keyCode == GLFW.GLFW_KEY_ESCAPE){ + editingKeyBinding.bindAndStopEditing(InputUtil.UNKNOWN_KEY); + } + else{ + editingKeyBinding.bindAndStopEditing(InputUtil.fromKeyCode(keyCode, scanCode)); + } + + onKeyBindingEditingFinished(); + return true; + } + else{ + return super.keyPressed(keyCode, scanCode, modifiers); + } + } + + private void onKeyBindingEditingFinished(){ + editingKeyBinding = null; + KeyBinding.updateKeysByCode(); + + for(final KeyBindingWidget widget : allKeyBindings){ + widget.updateKeyBindingText(); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/ControlsScreenPatcher.java b/src/main/java/chylex/bettercontrols/gui/ControlsScreenPatcher.java new file mode 100644 index 0000000..8f1e7f0 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/ControlsScreenPatcher.java @@ -0,0 +1,36 @@ +package chylex.bettercontrols.gui; +import chylex.bettercontrols.mixin.AccessScreenButtons; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.Element; +import net.minecraft.client.gui.screen.options.ControlsOptionsScreen; +import net.minecraft.client.gui.widget.AbstractButtonWidget; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.OptionButtonWidget; +import net.minecraft.client.options.Option; +import java.util.List; + +public final class ControlsScreenPatcher{ + private ControlsScreenPatcher(){} + + public static void onOpened(final ControlsOptionsScreen screen){ + final AccessScreenButtons accessor = (AccessScreenButtons)screen; + + final List<? extends Element> children = screen.children(); + final List<AbstractButtonWidget> buttons = accessor.getButtons(); + + final AbstractButtonWidget autoJump = buttons + .stream() + .filter(it -> it instanceof OptionButtonWidget && ((OptionButtonWidget)it).getOption() == Option.AUTO_JUMP) + .findAny() + .orElse(null); + + if (autoJump != null){ + children.remove(autoJump); + buttons.remove(autoJump); + + accessor.callAddButton(new ButtonWidget(autoJump.x, autoJump.y, autoJump.getWidth(), autoJump.getHeight(), BetterControlsScreen.TITLE.copy().append("..."), btn -> { + MinecraftClient.getInstance().openScreen(new BetterControlsScreen(screen)); + })); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/OptionListWidget.java b/src/main/java/chylex/bettercontrols/gui/OptionListWidget.java new file mode 100644 index 0000000..29fdb13 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/OptionListWidget.java @@ -0,0 +1,126 @@ +package chylex.bettercontrols.gui; +import chylex.bettercontrols.gui.OptionListWidget.Entry; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.Drawable; +import net.minecraft.client.gui.Element; +import net.minecraft.client.gui.widget.AbstractButtonWidget; +import net.minecraft.client.gui.widget.ElementListWidget; +import net.minecraft.client.util.math.MatrixStack; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.function.Function; +import java.util.stream.Collectors; + +public final class OptionListWidget extends ElementListWidget<Entry>{ + public static final int ROW_WIDTH = 408; + public static final int ROW_PADDING = 2; + + public static final int COL2_W = (ROW_WIDTH / 2) - ROW_PADDING; + public static final int COL3_W = (ROW_WIDTH / 3) - ROW_PADDING; + public static final int COL4_W = (ROW_WIDTH / 4) - ROW_PADDING; + public static final int COL6_W = (ROW_WIDTH / 6) - ROW_PADDING; + + public static int col2(final int column){ + return (column * ROW_WIDTH) / 2; + } + + public static int col3(final int column){ + return (column * ROW_WIDTH) / 3; + } + + public static int col4(final int column){ + return (column * ROW_WIDTH) / 4; + } + + public static int col6(final int column){ + return (column * ROW_WIDTH) / 6; + } + + private static Offset getElementOffset(final Element element){ + if (element instanceof Widget){ + return new Offset(((Widget)element).getX(), ((Widget)element).getY()); + } + else if (element instanceof AbstractButtonWidget){ + return new Offset(((AbstractButtonWidget)element).x, ((AbstractButtonWidget)element).y); + } + else{ + return new Offset(0, 0); + } + } + + public interface Widget extends Element, Drawable{ + int getX(); + int getY(); + void setX(int x); + void setY(int y); + } + + private static final class Offset{ + public final int x; + public final int y; + + private Offset(final int x, final int y){ + this.x = x; + this.y = y; + } + } + + public OptionListWidget(final int top, final int bottom, final int width, final int height, final List<Element> widgets, final int innerHeight){ + super(MinecraftClient.getInstance(), width, height, top, bottom, innerHeight); + addEntry(new Entry(widgets)); + } + + @Override + protected int getRowLeft(){ + return super.getRowLeft() - ROW_PADDING; + } + + @Override + public int getRowWidth(){ + return ROW_WIDTH; + } + + @Override + protected int getScrollbarPositionX(){ + return (width + ROW_WIDTH) / 2 + 4; + } + + protected static final class Entry extends ElementListWidget.Entry<Entry>{ + private final List<Element> elements; + private final Map<Element, Offset> offsets; + + public Entry(final List<Element> elements){ + this.elements = new ArrayList<>(elements); + this.offsets = elements.stream().collect(Collectors.toMap(Function.identity(), OptionListWidget::getElementOffset)); + } + + @Override + public List<? extends Element> children(){ + return Collections.unmodifiableList(elements); + } + + @Override + public void render(final MatrixStack matrices, final int index, final int y, final int x, final int entryWidth, final int entryHeight, final int mouseX, final int mouseY, final boolean hovered, final float tickDelta){ + for(final Element element : elements){ + final Offset offset = offsets.get(element); + + if (element instanceof AbstractButtonWidget){ + final AbstractButtonWidget button = (AbstractButtonWidget)element; + button.x = x + offset.x; + button.y = y + offset.y; + } + else if (element instanceof Widget){ + final Widget widget = (Widget)element; + widget.setX(x + offset.x); + widget.setY(y + offset.y); + } + + if (element instanceof Drawable){ + ((Drawable)element).render(matrices, mouseX, mouseY, tickDelta); + } + } + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/BooleanValueWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/BooleanValueWidget.java new file mode 100644 index 0000000..6fe2315 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/BooleanValueWidget.java @@ -0,0 +1,27 @@ +package chylex.bettercontrols.gui.elements; +import it.unimi.dsi.fastutil.booleans.BooleanConsumer; +import net.minecraft.client.gui.screen.ScreenTexts; +import net.minecraft.client.gui.widget.ButtonWidget; + +public final class BooleanValueWidget extends ButtonWidget{ + private final BooleanConsumer onChanged; + private boolean value; + + public BooleanValueWidget(final int x, final int y, final int width, final int height, final boolean currentValue, final BooleanConsumer onChanged){ + super(x, y, width, height, currentValue ? ScreenTexts.ON : ScreenTexts.OFF, ignore -> {}); + this.value = currentValue; + this.onChanged = onChanged; + } + + public BooleanValueWidget(final int x, final int y, final int width, final boolean currentValue, final BooleanConsumer onChanged){ + this(x, y, width, 20, currentValue, onChanged); + } + + @Override + public void onPress(){ + super.onPress(); + value = !value; + setMessage(value ? ScreenTexts.ON : ScreenTexts.OFF); + onChanged.accept(value); + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/CycleButtonWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/CycleButtonWidget.java new file mode 100644 index 0000000..67a144f --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/CycleButtonWidget.java @@ -0,0 +1,36 @@ +package chylex.bettercontrols.gui.elements; +import net.minecraft.client.gui.widget.ButtonWidget; +import java.util.List; +import java.util.function.Consumer; + +public class CycleButtonWidget<T> extends ButtonWidget{ + private final List<Option<T>> options; + private final Consumer<T> onChanged; + private T selectedValue; + + public CycleButtonWidget(final int x, final int y, final int width, final int height, final List<Option<T>> options, final T selectedValue, final Consumer<T> onChanged){ + super(x, y, width, height, Option.find(options, selectedValue).getText(), btn -> {}); + this.options = options; + this.selectedValue = selectedValue; + this.onChanged = onChanged; + } + + public CycleButtonWidget(final int x, final int y, final int width, final List<Option<T>> options, final T selectedValue, final Consumer<T> onChanged){ + this(x, y, width, 20, options, selectedValue, onChanged); + } + + @Override + public void onPress(){ + int nextIndex = options.indexOf(Option.find(options, selectedValue)) + 1; + + if (nextIndex >= options.size()){ + nextIndex = 0; + } + + final Option<T> newSelectedOption = options.get(nextIndex); + + selectedValue = newSelectedOption.getValue(); + onChanged.accept(selectedValue); + setMessage(newSelectedOption.getText()); + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/DiscreteValueSliderWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/DiscreteValueSliderWidget.java new file mode 100644 index 0000000..e1e40d8 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/DiscreteValueSliderWidget.java @@ -0,0 +1,41 @@ +package chylex.bettercontrols.gui.elements; +import net.minecraft.client.gui.widget.SliderWidget; +import net.minecraft.util.math.MathHelper; +import java.util.List; +import java.util.function.Consumer; + +public final class DiscreteValueSliderWidget<T> extends SliderWidget{ + private final List<Option<T>> options; + private final Consumer<T> onChanged; + private T selectedValue; + + public DiscreteValueSliderWidget(final int x, final int y, final int width, final int height, final List<Option<T>> options, final T selectedValue, final Consumer<T> onChanged){ + super(x, y, width, height, Option.find(options, selectedValue).getText(), options.indexOf(Option.find(options, selectedValue)) / (options.size() - 1.0)); + this.options = options; + this.selectedValue = selectedValue; + this.onChanged = onChanged; + } + + public DiscreteValueSliderWidget(final int x, final int y, final int width, final List<Option<T>> options, final T selectedValue, final Consumer<T> onChanged){ + this(x, y, width, 20, options, selectedValue, onChanged); + } + + public Option<T> getSelectedOption(){ + return options.get(MathHelper.floor(MathHelper.clampedLerp(0.0, options.size() - 1.0, value))); + } + + @Override + protected void updateMessage(){ + setMessage(getSelectedOption().getText()); + } + + @Override + protected void applyValue(){ + final T newSelectedValue = getSelectedOption().getValue(); + + if (selectedValue != newSelectedValue){ + selectedValue = newSelectedValue; + onChanged.accept(newSelectedValue); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/KeyBindingWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/KeyBindingWidget.java new file mode 100644 index 0000000..8e9e88b --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/KeyBindingWidget.java @@ -0,0 +1,89 @@ +package chylex.bettercontrols.gui.elements; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.widget.AbstractButtonWidget; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.options.KeyBinding; +import net.minecraft.client.util.InputUtil; +import net.minecraft.text.LiteralText; +import net.minecraft.text.MutableText; +import net.minecraft.text.Text; +import net.minecraft.text.TranslatableText; +import net.minecraft.util.Formatting; +import java.util.ArrayList; +import java.util.List; +import java.util.function.Consumer; + +public final class KeyBindingWidget extends ButtonWidget{ + private final KeyBinding binding; + private final Text bindingName; + + private final List<AbstractButtonWidget> linkedButtons = new ArrayList<>(1); + + private final Consumer<KeyBindingWidget> onEditingStarted; + private boolean isEditing; + + public KeyBindingWidget(final int x, final int y, final int width, final int height, final KeyBinding binding, final Consumer<KeyBindingWidget> onEditingStarted){ + super(x, y, width, height, LiteralText.EMPTY, btn -> {}); + this.binding = binding; + this.bindingName = new TranslatableText(binding.getTranslationKey()); + this.onEditingStarted = onEditingStarted; + updateKeyBindingText(); + } + + public KeyBindingWidget(final int x, final int y, final int width, final KeyBinding binding, final Consumer<KeyBindingWidget> onEditingStarted){ + this(x, y, width, 20, binding, onEditingStarted); + } + + public void linkButtonToBoundState(final AbstractButtonWidget button){ + linkedButtons.add(button); + button.active = !binding.isUnbound(); + } + + @Override + protected MutableText getNarrationMessage(){ + return binding.isUnbound() ? new TranslatableText("narrator.controls.unbound", bindingName) : new TranslatableText("narrator.controls.bound", bindingName, super.getNarrationMessage()); + } + + @Override + public void onPress(){ + isEditing = true; + onEditingStarted.accept(this); + updateKeyBindingText(); + } + + public void bindAndStopEditing(final InputUtil.Key key){ + binding.setBoundKey(key); + stopEditing(); + + for(final AbstractButtonWidget button : linkedButtons){ + button.active = !binding.isUnbound(); + } + } + + public void stopEditing(){ + isEditing = false; + updateKeyBindingText(); + } + + public void updateKeyBindingText(){ + boolean hasConflict = false; + + if (!binding.isUnbound()){ + for(final KeyBinding other : MinecraftClient.getInstance().options.keysAll){ + if (binding != other && binding.equals(other)){ + hasConflict = true; + } + } + } + + if (isEditing){ + setMessage((new LiteralText("> ")).append(binding.getBoundKeyLocalizedText().shallowCopy().formatted(Formatting.YELLOW)).append(" <").formatted(Formatting.YELLOW)); + } + else if (hasConflict){ + setMessage(binding.getBoundKeyLocalizedText().shallowCopy().formatted(Formatting.RED)); + } + else{ + setMessage(binding.isUnbound() ? Text.of("(No Binding)") : binding.getBoundKeyLocalizedText()); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/Option.java b/src/main/java/chylex/bettercontrols/gui/elements/Option.java new file mode 100644 index 0000000..d6af432 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/Option.java @@ -0,0 +1,26 @@ +package chylex.bettercontrols.gui.elements; +import net.minecraft.text.Text; +import java.util.List; +import java.util.Objects; + +public final class Option<T>{ + private final T value; + private final Text text; + + public Option(final T value, final Text text){ + this.value = value; + this.text = text; + } + + public T getValue(){ + return value; + } + + public Text getText(){ + return text; + } + + public static <T> Option<T> find(final List<Option<T>> options, final T value){ + return options.stream().filter(it -> Objects.equals(it.value, value)).findFirst().orElseGet(() -> options.get(0)); + } +} diff --git a/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java b/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java new file mode 100644 index 0000000..61c00e9 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/gui/elements/TextWidget.java @@ -0,0 +1,73 @@ +package chylex.bettercontrols.gui.elements; +import chylex.bettercontrols.gui.OptionListWidget.Widget; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.font.TextRenderer; +import net.minecraft.client.gui.DrawableHelper; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.OrderedText; +import net.minecraft.text.Text; +import java.util.List; + +public final class TextWidget extends DrawableHelper implements Widget{ + public static final int LEFT = 0; + public static final int CENTER = 1; + + private final Text text; + private int x; + private int y; + private final int width; + private final int height; + private final int align; + + public TextWidget(final int x, final int y, final int width, final int height, final Text text, final int align){ + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.text = text; + this.align = align; + } + + public TextWidget(final int x, final int y, final int width, final Text text, final int align){ + this(x, y, width, 20, text, align); + } + + public TextWidget(final int x, final int y, final int width, final Text text){ + this(x, y, width, 20, text, LEFT); + } + + @Override + public int getX(){ + return x; + } + + @Override + public int getY(){ + return y; + } + + @Override + public void setX(final int x){ + this.x = x; + } + + @Override + public void setY(final int y){ + this.y = y; + } + + @Override + public void render(final MatrixStack matrices, final int mouseX, final int mouseY, final float delta){ + final TextRenderer textRenderer = MinecraftClient.getInstance().textRenderer; + final List<OrderedText> lines = textRenderer.wrapLines(text, width); + final int lineHeight = textRenderer.fontHeight + 1; + + final int finalX = align == CENTER ? x + (width / 2) - (lines.stream().mapToInt(textRenderer::getWidth).max().orElse(0) / 2) : x; + final int finalY = y + (height / 2) - (lineHeight * lines.size() / 2) + 1; + + for(int i = 0; i < lines.size(); i++){ + final OrderedText line = lines.get(i); + textRenderer.drawWithShadow(matrices, line, finalX, finalY + (i * lineHeight), (255 << 16) | (255 << 8) | 255); + } + } +} diff --git a/src/main/java/chylex/bettercontrols/input/KeyBindingWithModifier.java b/src/main/java/chylex/bettercontrols/input/KeyBindingWithModifier.java new file mode 100644 index 0000000..4247d07 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/input/KeyBindingWithModifier.java @@ -0,0 +1,33 @@ +package chylex.bettercontrols.input; +import net.minecraft.client.options.KeyBinding; +import net.minecraft.client.util.InputUtil.Type; +import org.jetbrains.annotations.Nullable; + +public class KeyBindingWithModifier extends KeyBinding{ + public static final String CATEGORY = "key.categories.bettercontrols"; + + @Nullable + private ModifierKey modifier = null; + + public KeyBindingWithModifier(final String translationKey){ + super(translationKey, Type.KEYSYM, -1, CATEGORY); + } + + public void setModifier(final @Nullable ModifierKey modifier){ + this.modifier = modifier; + } + + public @Nullable ModifierKey getModifier(){ + return modifier; + } + + @Override + public boolean isPressed(){ + return super.isPressed() && (modifier == null || modifier.isPressed()); + } + + @Override + public boolean wasPressed(){ + return super.wasPressed() && (modifier == null || modifier.isPressed()); + } +} diff --git a/src/main/java/chylex/bettercontrols/input/ModifierKey.java b/src/main/java/chylex/bettercontrols/input/ModifierKey.java new file mode 100644 index 0000000..1635b99 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/input/ModifierKey.java @@ -0,0 +1,42 @@ +package chylex.bettercontrols.input; +import net.minecraft.client.gui.screen.Screen; + +public enum ModifierKey{ + CONTROL(0){ + @Override + public boolean isPressed(){ + return Screen.hasControlDown(); + } + }, + + SHIFT(1){ + @Override + public boolean isPressed(){ + return Screen.hasShiftDown(); + } + }, + + ALT(2){ + @Override + public boolean isPressed(){ + return Screen.hasAltDown(); + } + }; + + public final int id; + + ModifierKey(final int id){ + this.id = id; + } + + public abstract boolean isPressed(); + + public static ModifierKey getById(final int id){ + switch(id){ + case 0: return CONTROL; + case 1: return SHIFT; + case 2: return ALT; + default: return null; + } + } +} diff --git a/src/main/java/chylex/bettercontrols/mixin/AccessKeyBindingFields.java b/src/main/java/chylex/bettercontrols/mixin/AccessKeyBindingFields.java new file mode 100644 index 0000000..c1b4499 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/mixin/AccessKeyBindingFields.java @@ -0,0 +1,13 @@ +package chylex.bettercontrols.mixin; +import net.minecraft.client.options.KeyBinding; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; +import java.util.Map; + +@Mixin(KeyBinding.class) +public interface AccessKeyBindingFields{ + @Accessor + static Map<String, Integer> getCategoryOrderMap(){ + throw new AssertionError(); + } +} diff --git a/src/main/java/chylex/bettercontrols/mixin/AccessScreenButtons.java b/src/main/java/chylex/bettercontrols/mixin/AccessScreenButtons.java new file mode 100644 index 0000000..8493d07 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/mixin/AccessScreenButtons.java @@ -0,0 +1,16 @@ +package chylex.bettercontrols.mixin; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.widget.AbstractButtonWidget; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.gen.Accessor; +import org.spongepowered.asm.mixin.gen.Invoker; +import java.util.List; + +@Mixin(Screen.class) +public interface AccessScreenButtons{ + @Accessor + List<AbstractButtonWidget> getButtons(); + + @Invoker + <T extends AbstractButtonWidget> T callAddButton(T button); +} diff --git a/src/main/java/chylex/bettercontrols/mixin/HookLoadGameOptions.java b/src/main/java/chylex/bettercontrols/mixin/HookLoadGameOptions.java new file mode 100644 index 0000000..774ec1a --- /dev/null +++ b/src/main/java/chylex/bettercontrols/mixin/HookLoadGameOptions.java @@ -0,0 +1,34 @@ +package chylex.bettercontrols.mixin; +import chylex.bettercontrols.BetterControlsMod; +import chylex.bettercontrols.input.KeyBindingWithModifier; +import net.minecraft.client.options.GameOptions; +import net.minecraft.client.options.KeyBinding; +import org.apache.commons.lang3.ArrayUtils; +import org.spongepowered.asm.mixin.Final; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Mutable; +import org.spongepowered.asm.mixin.Shadow; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(GameOptions.class) +public abstract class HookLoadGameOptions{ + private boolean hasLoaded = false; + + @Mutable + @Final + @Shadow + public KeyBinding[] keysAll; + + @Inject(method = "load()V", at = @At("HEAD")) + private void load(final CallbackInfo info){ + if (hasLoaded){ + return; + } + + hasLoaded = true; + keysAll = ArrayUtils.addAll(keysAll, BetterControlsMod.config.getAllKeyBindings()); + AccessKeyBindingFields.getCategoryOrderMap().put(KeyBindingWithModifier.CATEGORY, Integer.valueOf(Integer.MAX_VALUE)); + } +} diff --git a/src/main/java/chylex/bettercontrols/mixin/HookOpenScreen.java b/src/main/java/chylex/bettercontrols/mixin/HookOpenScreen.java new file mode 100644 index 0000000..86657c0 --- /dev/null +++ b/src/main/java/chylex/bettercontrols/mixin/HookOpenScreen.java @@ -0,0 +1,22 @@ +package chylex.bettercontrols.mixin; +import chylex.bettercontrols.gui.ControlsScreenPatcher; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.options.ControlsOptionsScreen; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Inject; +import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; + +@Mixin(MinecraftClient.class) +public abstract class HookOpenScreen{ + @Inject(method = "openScreen(Lnet/minecraft/client/gui/screen/Screen;)V", at = @At("TAIL")) + private void openScreen(final Screen ignore, final CallbackInfo ci){ + final MinecraftClient mc = MinecraftClient.getInstance(); + final Screen screen = mc.currentScreen; + + if (screen != null && screen.getClass() == ControlsOptionsScreen.class && !Screen.hasAltDown()){ + ControlsScreenPatcher.onOpened((ControlsOptionsScreen)screen); + } + } +} diff --git a/src/main/resources/assets/bettercontrols/icon.png b/src/main/resources/assets/bettercontrols/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a31f768115ea33b164455deacbed0bc06f21470d GIT binary patch literal 21941 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 DzK4Jx literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/bettercontrols/lang/en_us.json b/src/main/resources/assets/bettercontrols/lang/en_us.json new file mode 100644 index 0000000..f4fb070 --- /dev/null +++ b/src/main/resources/assets/bettercontrols/lang/en_us.json @@ -0,0 +1,3 @@ +{ + "key.categories.bettercontrols": "Better Controls" +} diff --git a/src/main/resources/fabric.mod.json b/src/main/resources/fabric.mod.json new file mode 100644 index 0000000..63e02f1 --- /dev/null +++ b/src/main/resources/fabric.mod.json @@ -0,0 +1,36 @@ +{ + "schemaVersion": 1, + "id": "bettercontrols", + "version": "${version}", + + "name": "Better Controls", + "description": "Adds many powerful key bindings and options to control your movement.\nThe features complement vanilla mechanics without giving unfair advantages, so server use should be fine.\nTo configure the mod, open Options - Controls - Better Controls. If you want to see the vanilla Controls screen, hold Alt while opening it.", + "icon": "assets/bettercontrols/icon.png", + "license": "MPL-2.0", + + "authors": [ "chylex" ], + "contact": { + "homepage": "", + "sources": "https://github.com/chylex/Better-Controls", + "issues": "https://github.com/chylex/Better-Controls/issues" + }, + + "environment": "client", + "entrypoints": { + "client": [ "chylex.bettercontrols.BetterControlsMod" ] + }, + + "mixins": [{ + "config": "mixins.json", + "environment": "client" + }], + + "depends": { + "fabricloader": ">=0.7.4", + "minecraft": "1.16.x" + }, + + "custom": { + "modmenu:clientsideOnly": true + } +} diff --git a/src/main/resources/mixins.json b/src/main/resources/mixins.json new file mode 100644 index 0000000..70c7709 --- /dev/null +++ b/src/main/resources/mixins.json @@ -0,0 +1,15 @@ +{ + "required": true, + "minVersion": "0.8", + "package": "chylex.bettercontrols.mixin", + "compatibilityLevel": "JAVA_8", + "mixins": [ + "AccessKeyBindingFields", + "AccessScreenButtons", + "HookLoadGameOptions", + "HookOpenScreen" + ], + "injectors": { + "defaultRequire": 1 + } +}