diff options
| author | inyourwalls <inyourwalls@tutanota.com> | 2024-02-19 20:01:31 -0500 |
|---|---|---|
| committer | inyourwalls <inyourwalls@tutanota.com> | 2024-02-19 20:01:31 -0500 |
| commit | 7bee864f5f3bbce6c3700dc30cbd93008b75ecff (patch) | |
| tree | 9d7573487a82c9bce3a6799c5ae18449b053c67f /src/main/java/net | |
| parent | 6cf1c1476b34dd7984691cdc6972c5edff7a4890 (diff) | |
basically done wahoo
Diffstat (limited to 'src/main/java/net')
| -rw-r--r-- | src/main/java/net/inyourwalls/customlevelcolour/ConfigScreen.java | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/main/java/net/inyourwalls/customlevelcolour/ConfigScreen.java b/src/main/java/net/inyourwalls/customlevelcolour/ConfigScreen.java index 3b7ed18..bfe8f51 100644 --- a/src/main/java/net/inyourwalls/customlevelcolour/ConfigScreen.java +++ b/src/main/java/net/inyourwalls/customlevelcolour/ConfigScreen.java @@ -19,6 +19,8 @@ public class ConfigScreen extends Screen { private static final Pattern HEX_COLOUR_REGEX = Pattern.compile("[0-9a-fA-F]{0,6}"); private final Screen previous; private final CustomLevelColourConfig config; + private int previewOutlineColour; + private int previewTextColour; public ConfigScreen() { this(null); @@ -41,6 +43,13 @@ public class ConfigScreen extends Screen { OUTLINE_COLOUR_LABEL ); outlineField.setTextPredicate(HEX_COLOUR_REGEX.asMatchPredicate()); + outlineField.setChangedListener(text -> { + try { + this.previewOutlineColour = Integer.parseInt(text, 16); + } catch (NumberFormatException ex) { + // fail silently + } + }); outlineField.setText(String.format("%x", config.outlineColour)); TextFieldWidget textField = new TextFieldWidget( this.textRenderer, @@ -51,6 +60,11 @@ public class ConfigScreen extends Screen { TEXT_COLOUR_LABEL ); textField.setTextPredicate(HEX_COLOUR_REGEX.asMatchPredicate()); + textField.setChangedListener(text -> { + try { + this.previewTextColour = Integer.parseInt(text, 16); + } catch (NumberFormatException ex) {} + }); textField.setText(String.format("%x", config.textColour)); ButtonWidget backButton = ButtonWidget.builder(Text.translatable("gui.back"), thisButton -> this.close()) @@ -61,9 +75,7 @@ public class ConfigScreen extends Screen { try { config.outlineColour = Integer.parseInt(outlineField.getText(), 16); config.textColour = Integer.parseInt(textField.getText(), 16); - } catch (NumberFormatException ex) { - CustomLevelColour.LOGGER.error("Failed to parse colour", ex); - } + } catch (NumberFormatException ex) {} CustomLevelColour.saveConfig(); }) .size(DEFAULT_WIDTH, DEFAULT_HEIGHT) @@ -96,10 +108,10 @@ public class ConfigScreen extends Screen { // preview text int previewX = (this.width / 2) - (this.textRenderer.getWidth("30") / 2); - context.drawText(this.textRenderer, "30", previewX - 1, 90, config.outlineColour, false); - context.drawText(this.textRenderer, "30", previewX + 1, 90, config.outlineColour, false); - context.drawText(this.textRenderer, "30", previewX, 91, config.outlineColour, false); - context.drawText(this.textRenderer, "30", previewX, 89, config.outlineColour, false); - context.drawText(this.textRenderer, "30", previewX, 90, config.textColour, false); + context.drawText(this.textRenderer, "30", previewX - 1, 90, previewOutlineColour, false); + context.drawText(this.textRenderer, "30", previewX + 1, 90, previewOutlineColour, false); + context.drawText(this.textRenderer, "30", previewX, 91, previewOutlineColour, false); + context.drawText(this.textRenderer, "30", previewX, 89, previewOutlineColour, false); + context.drawText(this.textRenderer, "30", previewX, 90, previewTextColour, false); } } |
