From d46e375501caae55aec57fef876ed25390af654d Mon Sep 17 00:00:00 2001 From: Frank Date: Thu, 19 Aug 2021 16:49:43 +0200 Subject: [PATCH] WIP: SyncScreen allows users to choose which content type to sync --- .../gui/screens/ConfirmRestartScreen.java | 7 +++--- .../ru/bclib/gui/screens/SyncFilesScreen.java | 24 ++++++++++++++----- .../resources/assets/bclib/lang/en_us.json | 11 +++++---- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/main/java/ru/bclib/gui/screens/ConfirmRestartScreen.java b/src/main/java/ru/bclib/gui/screens/ConfirmRestartScreen.java index d503de33..712afcc8 100644 --- a/src/main/java/ru/bclib/gui/screens/ConfirmRestartScreen.java +++ b/src/main/java/ru/bclib/gui/screens/ConfirmRestartScreen.java @@ -7,11 +7,10 @@ import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; import ru.bclib.gui.gridlayout.GridLayout.Alignment; import ru.bclib.gui.gridlayout.GridRow; -import ru.bclib.gui.gridlayout.GridScreen; @Environment(EnvType.CLIENT) -public class ConfirmRestartScreen extends GridScreen { +public class ConfirmRestartScreen extends BCLibScreen { private final Component description; private final ConfirmRestartScreen.Listener listener; @@ -20,9 +19,9 @@ public class ConfirmRestartScreen extends GridScreen { } public ConfirmRestartScreen(ConfirmRestartScreen.Listener listener, Component message) { - super(new TranslatableComponent("bclib.datafixer.confirmrestart.title")); + super(new TranslatableComponent("title.bclib.confirmrestart")); - this.description = message==null?new TranslatableComponent("bclib.datafixer.confirmrestart.message"):message; + this.description = message==null?new TranslatableComponent("message.bclib.confirmrestart"):message; this.listener = listener; } diff --git a/src/main/java/ru/bclib/gui/screens/SyncFilesScreen.java b/src/main/java/ru/bclib/gui/screens/SyncFilesScreen.java index 18062dcf..1efbbd30 100644 --- a/src/main/java/ru/bclib/gui/screens/SyncFilesScreen.java +++ b/src/main/java/ru/bclib/gui/screens/SyncFilesScreen.java @@ -5,18 +5,18 @@ import net.fabricmc.api.Environment; import net.minecraft.network.chat.CommonComponents; import net.minecraft.network.chat.Component; import net.minecraft.network.chat.TranslatableComponent; +import ru.bclib.gui.gridlayout.GridCheckboxCell; import ru.bclib.gui.gridlayout.GridLayout.Alignment; import ru.bclib.gui.gridlayout.GridRow; -import ru.bclib.gui.gridlayout.GridScreen; @Environment(EnvType.CLIENT) -public class SyncFilesScreen extends GridScreen { +public class SyncFilesScreen extends BCLibScreen { private final Component description; private final SyncFilesScreen.Listener listener; public SyncFilesScreen(SyncFilesScreen.Listener listener) { - super(new TranslatableComponent("bclib.datafixer.syncfiles.title")); + super(new TranslatableComponent("title.bclib.syncfiles")); - this.description = new TranslatableComponent("bclib.datafixer.syncfiles.message"); + this.description = new TranslatableComponent("message.bclib.syncfiles"); this.listener = listener; } @@ -24,11 +24,23 @@ public class SyncFilesScreen extends GridScreen { final int BUTTON_HEIGHT = 20; grid.addRow().addMessage(this.description, this.font, Alignment.CENTER); - //grid.addMessageRow(this.description, 25); - grid.addSpacerRow(); + grid.addSpacerRow(10); GridRow row = grid.addRow(); + GridCheckboxCell mods = row.addCheckbox(new TranslatableComponent("message.bclib.syncfiles.mods"), true, BUTTON_HEIGHT, this.font); + + grid.addSpacerRow(); + row = grid.addRow(); + GridCheckboxCell files = row.addCheckbox(new TranslatableComponent("message.bclib.syncfiles.files"), true, BUTTON_HEIGHT, this.font); + + grid.addSpacerRow(); + row = grid.addRow(); + GridCheckboxCell folder = row.addCheckbox(new TranslatableComponent("message.bclib.syncfiles.folder"), true, BUTTON_HEIGHT, this.font); + + grid.addSpacerRow(30); + + row = grid.addRow(); row.addFiller(); row.addButton(CommonComponents.GUI_NO, BUTTON_HEIGHT, this.font, (button) -> { listener.proceed(false); diff --git a/src/main/resources/assets/bclib/lang/en_us.json b/src/main/resources/assets/bclib/lang/en_us.json index b9766ff1..5c65e789 100644 --- a/src/main/resources/assets/bclib/lang/en_us.json +++ b/src/main/resources/assets/bclib/lang/en_us.json @@ -7,8 +7,11 @@ "bclib.datafixer.backupWarning.fix": "Apply Fixes", "bclib.datafixer.bclibmissmatch.title": "Version Mismatch", "bclib.datafixer.bclibmissmatch.message": "The Version of BCLib on the server and this client do not match. This will cause problems when playing.\n\nDo you want to automatically download the BCLib-Version from the server. You will need to manually delete the old version from your Mods Directory.", - "bclib.datafixer.syncfiles.title": "Mismatching (Config-)Files", - "bclib.datafixer.syncfiles.message": "Some Files on the Server do not match the versions on the client.\n\nDo you want to replace the local versions with the ones from the server?", - "bclib.datafixer.confirmrestart.title": "Restart Required", - "bclib.datafixer.confirmrestart.message": "The requested files were processed. You need o restart Minecraft now." + "title.bclib.syncfiles": "Mismatching Data", + "message.bclib.syncfiles": "Some Content on the Server does not match the versions on the client.\nDo you want to replace the selected content with the data from the server?", + "message.bclib.syncfiles.mods": "Synchronize Mods", + "message.bclib.syncfiles.files": "Synchronize Configs", + "message.bclib.syncfiles.folder": "Synchronize Folders", + "title.bclib.confirmrestart": "Restart Required", + "message.bclib.confirmrestart": "The requested files were processed. You need o restart Minecraft now." } \ No newline at end of file