From c2c644d9b0f8a66e757b67145935b0e3c447db97 Mon Sep 17 00:00:00 2001 From: Cow Date: Tue, 16 Jun 2020 02:32:15 +0200 Subject: Added `/moo search` to search through mc log files --- .../olli/cowmoonication/search/GuiDateField.java | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 src/main/java/eu/olli/cowmoonication/search/GuiDateField.java (limited to 'src/main/java/eu/olli/cowmoonication/search/GuiDateField.java') diff --git a/src/main/java/eu/olli/cowmoonication/search/GuiDateField.java b/src/main/java/eu/olli/cowmoonication/search/GuiDateField.java new file mode 100644 index 0000000..136e4ac --- /dev/null +++ b/src/main/java/eu/olli/cowmoonication/search/GuiDateField.java @@ -0,0 +1,37 @@ +package eu.olli.cowmoonication.search; + +import net.minecraft.client.gui.FontRenderer; +import net.minecraft.client.gui.GuiTextField; + +import java.time.LocalDate; +import java.time.format.DateTimeParseException; + +class GuiDateField extends GuiTextField { + GuiDateField(int componentId, FontRenderer fontrendererObj, int x, int y, int width, int height) { + super(componentId, fontrendererObj, x, y, width, height); + } + + LocalDate getDate() { + try { + return LocalDate.parse(this.getText()); + } catch (DateTimeParseException e) { + return LocalDate.now(); + } + } + + boolean validateDate() { + try { + LocalDate localDate = LocalDate.parse(this.getText()); + if (localDate.isAfter(LocalDate.now()) || localDate.isBefore(LocalDate.ofYearDay(2009, 1))) { + // searching for things written in the future isn't possible (yet). It is also not possible to perform a search before the existence of mc. + setTextColor(0xFFFF3333); + return false; + } + } catch (DateTimeParseException e) { + setTextColor(0xFFFF3333); + return false; + } + setTextColor(0xFFFFFF); + return true; + } +} -- cgit