diff --git a/common/src/main/java/eu/midnightdust/midnightcontrols/ControlsMode.java b/common/src/main/java/eu/midnightdust/midnightcontrols/ControlsMode.java index bc25f10..baeee58 100644 --- a/common/src/main/java/eu/midnightdust/midnightcontrols/ControlsMode.java +++ b/common/src/main/java/eu/midnightdust/midnightcontrols/ControlsMode.java @@ -9,12 +9,20 @@ package eu.midnightdust.midnightcontrols; +import net.minecraft.text.Text; +import net.minecraft.text.object.AtlasTextObjectContents; +import net.minecraft.text.object.TextObjectContents; +import net.minecraft.util.Atlases; +import net.minecraft.util.Identifier; +import net.minecraft.util.TranslatableOption; import org.jetbrains.annotations.NotNull; import org.thinkingstudio.obsidianui.util.Nameable; import java.util.Arrays; import java.util.Optional; +import static eu.midnightdust.midnightcontrols.MidnightControls.id; + /** * Represents the controls mode. * @@ -22,10 +30,15 @@ import java.util.Optional; * @version 1.7.0 * @since 1.0.0 */ -public enum ControlsMode { - DEFAULT, - CONTROLLER, - TOUCHSCREEN; +public enum ControlsMode implements TranslatableOption { + DEFAULT("icon/keyboard_mouse"), + CONTROLLER("icon/controller"), + TOUCHSCREEN("icon/touchscreen"); + final String emoji; + + ControlsMode(String emoji) { + this.emoji = emoji; + } /** * Returns the next controls mode available. @@ -39,6 +52,16 @@ public enum ControlsMode { return v[this.ordinal() + 1]; } + @Override + public int getId() { + return this.ordinal(); + } + + @Override + public Text getText() { + return Text.object(new AtlasTextObjectContents(Atlases.GUI, id(emoji))).append(" ").append(Text.translatable(getTranslationKey())); + } + /** * Gets the translation key of this controls mode. * @@ -49,6 +72,7 @@ public enum ControlsMode { return "midnightcontrols.controls_mode." + this.getName(); } + public @NotNull String getName() { return this.name().toLowerCase(); } diff --git a/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/keyboard_mouse.png b/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/keyboard_mouse.png new file mode 100644 index 0000000..c6c742b Binary files /dev/null and b/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/keyboard_mouse.png differ diff --git a/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/touchscreen.png b/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/touchscreen.png new file mode 100644 index 0000000..9650489 Binary files /dev/null and b/common/src/main/resources/assets/midnightcontrols/textures/gui/sprites/icon/touchscreen.png differ