From fc50c22a466c7e908157a0cf6f8bb42e5b5d9f9d Mon Sep 17 00:00:00 2001 From: Prospector Date: Tue, 18 Jun 2024 13:34:32 -0400 Subject: [PATCH] Fix mods button not showing up in game menu on server with Server Links Closes #745 - Fixed mods button not showing up on servers with Server Links - Changed functionality of Game Mode display option "Replace Bugs" to "Replace", which now replaces both Give Feedback and Report Bugs, these are now both found in Mod Menu under the Minecraft entry. "Below Bugs" is now "Insert" --- .../com/terraformersmc/modmenu/ModMenu.java | 2 +- .../modmenu/config/ModMenuConfig.java | 22 ++--- .../modmenu/event/ModMenuEventHandler.java | 21 +++-- .../modmenu/gui/ModsScreen.java | 94 +++++++++++-------- .../modmenu/mixin/MixinGameMenu.java | 44 ++++++--- .../resources/assets/modmenu/lang/be_by.json | 2 - .../resources/assets/modmenu/lang/en_us.json | 4 +- .../resources/assets/modmenu/lang/no_no.json | 2 - .../resources/assets/modmenu/lang/pl_pl.json | 2 - .../resources/assets/modmenu/lang/tt_ru.json | 2 - .../resources/assets/modmenu/lang/zh_cn.json | 2 - 11 files changed, 111 insertions(+), 86 deletions(-) diff --git a/src/main/java/com/terraformersmc/modmenu/ModMenu.java b/src/main/java/com/terraformersmc/modmenu/ModMenu.java index 9920ca31..46df1cbf 100644 --- a/src/main/java/com/terraformersmc/modmenu/ModMenu.java +++ b/src/main/java/com/terraformersmc/modmenu/ModMenu.java @@ -206,7 +206,7 @@ public static Text createModsButtonText(boolean title) { gameMenuStyle == ModMenuConfig.GameMenuButtonStyle.ICON; var isShort = title ? titleStyle == ModMenuConfig.TitleMenuButtonStyle.SHRINK : - gameMenuStyle == ModMenuConfig.GameMenuButtonStyle.REPLACE_BUGS; + gameMenuStyle == ModMenuConfig.GameMenuButtonStyle.REPLACE; MutableText modsText = ModMenuScreenTexts.TITLE.copy(); if (ModMenuConfig.MOD_COUNT_LOCATION.getValue().isOnModsButton() && !isIcon) { String count = ModMenu.getDisplayedModCount(); diff --git a/src/main/java/com/terraformersmc/modmenu/config/ModMenuConfig.java b/src/main/java/com/terraformersmc/modmenu/config/ModMenuConfig.java index 06b6b185..fc11fd79 100644 --- a/src/main/java/com/terraformersmc/modmenu/config/ModMenuConfig.java +++ b/src/main/java/com/terraformersmc/modmenu/config/ModMenuConfig.java @@ -1,5 +1,6 @@ package com.terraformersmc.modmenu.config; +import com.google.gson.annotations.SerializedName; import com.terraformersmc.modmenu.api.UpdateChannel; import com.terraformersmc.modmenu.config.option.BooleanConfigOption; import com.terraformersmc.modmenu.config.option.EnumConfigOption; @@ -20,17 +21,14 @@ public class ModMenuConfig { public static final BooleanConfigOption COUNT_LIBRARIES = new BooleanConfigOption("count_libraries", true); public static final BooleanConfigOption COMPACT_LIST = new BooleanConfigOption("compact_list", false); public static final BooleanConfigOption COUNT_CHILDREN = new BooleanConfigOption("count_children", true); - public static final EnumConfigOption MODS_BUTTON_STYLE = new EnumConfigOption<>( - "mods_button_style", + public static final EnumConfigOption MODS_BUTTON_STYLE = new EnumConfigOption<>("mods_button_style", TitleMenuButtonStyle.CLASSIC ); - public static final EnumConfigOption GAME_MENU_BUTTON_STYLE = new EnumConfigOption<>( - "game_menu_button_style", - GameMenuButtonStyle.REPLACE_BUGS + public static final EnumConfigOption GAME_MENU_BUTTON_STYLE = new EnumConfigOption<>("game_menu_button_style", + GameMenuButtonStyle.REPLACE ); public static final BooleanConfigOption COUNT_HIDDEN_MODS = new BooleanConfigOption("count_hidden_mods", true); - public static final EnumConfigOption MOD_COUNT_LOCATION = new EnumConfigOption<>( - "mod_count_location", + public static final EnumConfigOption MOD_COUNT_LOCATION = new EnumConfigOption<>("mod_count_location", ModCountLocation.TITLE_SCREEN ); public static final BooleanConfigOption HIDE_MOD_LINKS = new BooleanConfigOption("hide_mod_links", false); @@ -70,16 +68,16 @@ public class ModMenuConfig { new HashSet<>() ); @FileOnlyConfig - public static final StringSetConfigOption DISABLE_UPDATE_CHECKER = new StringSetConfigOption( - "disable_update_checker", + public static final StringSetConfigOption DISABLE_UPDATE_CHECKER = new StringSetConfigOption("disable_update_checker", new HashSet<>() ); public static SimpleOption[] asOptions() { ArrayList> options = new ArrayList<>(); for (Field field : ModMenuConfig.class.getDeclaredFields()) { - if (Modifier.isStatic(field.getModifiers()) && Modifier.isFinal(field.getModifiers()) && OptionConvertable.class.isAssignableFrom( - field.getType()) && !field.isAnnotationPresent(FileOnlyConfig.class)) { + if (Modifier.isStatic(field.getModifiers()) && Modifier.isFinal(field.getModifiers()) && + OptionConvertable.class.isAssignableFrom(field.getType()) && + !field.isAnnotationPresent(FileOnlyConfig.class)) { try { options.add(((OptionConvertable) field.get(null)).asOption()); } catch (IllegalAccessException e) { @@ -131,6 +129,6 @@ public enum TitleMenuButtonStyle { } public enum GameMenuButtonStyle { - REPLACE_BUGS, BELOW_BUGS, ICON + @SerializedName(value = "replace", alternate = { "replace_bugs" }) REPLACE, @SerializedName(value = "insert", alternate = { "below_bugs" }) INSERT, ICON } } diff --git a/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java b/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java index 40da06fe..0c7a0bf1 100644 --- a/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java +++ b/src/main/java/com/terraformersmc/modmenu/event/ModMenuEventHandler.java @@ -27,9 +27,7 @@ import java.util.List; public class ModMenuEventHandler { - public static final Identifier FABRIC_ICON_BUTTON_LOCATION = Identifier.of(ModMenu.MOD_ID, - "textures/gui/mods_button.png" - ); + public static final Identifier MODS_BUTTON_TEXTURE = Identifier.of(ModMenu.MOD_ID, "textures/gui/mods_button.png"); private static KeyBinding MENU_KEY_BIND; public static void register() { @@ -67,7 +65,8 @@ private static void afterTitleScreenInit(Screen screen) { } } if (buttonHasText(button, "menu.online")) { - if (ModMenuConfig.MODS_BUTTON_STYLE.getValue() == ModMenuConfig.TitleMenuButtonStyle.REPLACE_REALMS) { + if (ModMenuConfig.MODS_BUTTON_STYLE.getValue() == + ModMenuConfig.TitleMenuButtonStyle.REPLACE_REALMS) { buttons.set(i, new ModMenuButtonWidget(button.getX(), button.getY(), button.getWidth(), @@ -76,7 +75,8 @@ private static void afterTitleScreenInit(Screen screen) { screen )); } else { - if (ModMenuConfig.MODS_BUTTON_STYLE.getValue() == ModMenuConfig.TitleMenuButtonStyle.SHRINK) { + if (ModMenuConfig.MODS_BUTTON_STYLE.getValue() == + ModMenuConfig.TitleMenuButtonStyle.SHRINK) { button.setWidth(98); } modsButtonIndex = i + 1; @@ -115,7 +115,7 @@ private static void afterTitleScreenInit(Screen screen) { 0, 0, 20, - FABRIC_ICON_BUTTON_LOCATION, + MODS_BUTTON_TEXTURE, 32, 64, button -> MinecraftClient.getInstance().setScreen(new ModsScreen(screen)), @@ -137,8 +137,8 @@ public static boolean buttonHasText(Widget widget, String translationKey) { if (widget instanceof ButtonWidget button) { Text text = button.getMessage(); TextContent textContent = text.getContent(); - return textContent instanceof TranslatableTextContent && ((TranslatableTextContent) textContent).getKey() - .equals(translationKey); + return textContent instanceof TranslatableTextContent && + ((TranslatableTextContent) textContent).getKey().equals(translationKey); } return false; } @@ -146,8 +146,9 @@ public static boolean buttonHasText(Widget widget, String translationKey) { public static void shiftButtons(Widget widget, boolean shiftUp, int spacing) { if (shiftUp) { widget.setY(widget.getY() - spacing / 2); - } else if (!(widget instanceof ClickableWidget button && button.getMessage() - .equals(Text.translatable("title.credits")))) { + } else if (!(widget instanceof ClickableWidget button && + button.getMessage().equals(Text.translatable("title.credits")) + )) { widget.setY(widget.getY() + spacing / 2); } } diff --git a/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java b/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java index faa95cfd..6d6f9430 100644 --- a/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java +++ b/src/main/java/com/terraformersmc/modmenu/gui/ModsScreen.java @@ -15,6 +15,7 @@ import com.terraformersmc.modmenu.util.mod.Mod; import com.terraformersmc.modmenu.util.mod.ModBadgeRenderer; import net.fabricmc.loader.api.FabricLoader; +import net.minecraft.SharedConstants; import net.minecraft.client.gui.DrawContext; import net.minecraft.client.gui.screen.ConfirmLinkScreen; import net.minecraft.client.gui.screen.ConfirmScreen; @@ -28,10 +29,7 @@ import net.minecraft.screen.ScreenTexts; import net.minecraft.text.StringVisitable; import net.minecraft.text.Text; -import net.minecraft.util.Formatting; -import net.minecraft.util.Identifier; -import net.minecraft.util.Language; -import net.minecraft.util.Util; +import net.minecraft.util.*; import org.jetbrains.annotations.Nullable; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -83,6 +81,9 @@ public class ModsScreen extends Screen { public final Map modHasConfigScreen = new HashMap<>(); public final Map modScreenErrors = new HashMap<>(); + private static final Text SEND_FEEDBACK_TEXT = Text.translatable("menu.sendFeedback"); + private static final Text REPORT_BUGS_TEXT = Text.translatable("menu.reportBugs"); + public ModsScreen(Screen previousScreen) { super(ModMenuScreenTexts.TITLE); this.previousScreen = previousScreen; @@ -108,7 +109,9 @@ protected void init() { Screen configScreen = ModMenu.getConfigScreen(id, this); modHasConfigScreen.put(id, configScreen != null); } catch (java.lang.NoClassDefFoundError e) { - LOGGER.warn("The '" + id + "' mod config screen is not available because " + e.getLocalizedMessage() + " is missing."); + LOGGER.warn( + "The '" + id + "' mod config screen is not available because " + e.getLocalizedMessage() + + " is missing."); modScreenErrors.put(id, e); modHasConfigScreen.put(id, false); } catch (Throwable e) { @@ -166,8 +169,7 @@ protected void init() { this.updateFiltersX(); if (!ModMenuConfig.CONFIG_MODE.getValue()) { - this.filtersButton = LegacyTexturedButtonWidget.legacyTexturedBuilder( - ModMenuScreenTexts.TOGGLE_FILTER_OPTIONS, + this.filtersButton = LegacyTexturedButtonWidget.legacyTexturedBuilder(ModMenuScreenTexts.TOGGLE_FILTER_OPTIONS, button -> { this.setFilterOptionsShown(!this.filterOptionsShown); } @@ -221,12 +223,15 @@ protected void init() { this.websiteButton = ButtonWidget.builder(ModMenuScreenTexts.WEBSITE, button -> { final Mod mod = Objects.requireNonNull(selected).getMod(); - this.client.setScreen(new ConfirmLinkScreen(confirmed -> { - if (confirmed) { - Util.getOperatingSystem().open(mod.getWebsite()); - } - this.client.setScreen(this); - }, mod.getWebsite(), false)); + boolean isMinecraft = selected.getMod().getId().equals("minecraft"); + + if (isMinecraft) { + var url = SharedConstants.getGameVersion().isStable() ? Urls.JAVA_FEEDBACK : Urls.SNAPSHOT_FEEDBACK; + ConfirmLinkScreen.open(this, url, true); + } else { + var url = mod.getWebsite(); + ConfirmLinkScreen.open(this, url, false); + } }) .position(this.rightPaneX + (urlButtonWidths / 2) - (cappedButtonWidth / 2), RIGHT_PANE_Y + 36) .size(Math.min(urlButtonWidths, 200), 20) @@ -235,12 +240,14 @@ protected void init() { // Issues button this.issuesButton = ButtonWidget.builder(ModMenuScreenTexts.ISSUES, button -> { final Mod mod = Objects.requireNonNull(selected).getMod(); - this.client.setScreen(new ConfirmLinkScreen(confirmed -> { - if (confirmed) { - Util.getOperatingSystem().open(mod.getIssueTracker()); - } - this.client.setScreen(this); - }, mod.getIssueTracker(), false)); + boolean isMinecraft = selected.getMod().getId().equals("minecraft"); + + if (isMinecraft) { + ConfirmLinkScreen.open(this, Urls.SNAPSHOT_BUGS, true); + } else { + var url = mod.getIssueTracker(); + ConfirmLinkScreen.open(this, url, false); + } }) .position(this.rightPaneX + urlButtonWidths + 4 + (urlButtonWidths / 2) - (cappedButtonWidth / 2), RIGHT_PANE_Y + 36 @@ -300,10 +307,8 @@ protected void init() { @Override public boolean keyPressed(int keyCode, int scanCode, int modifiers) { - return super.keyPressed(keyCode, scanCode, modifiers) || this.searchBox.keyPressed(keyCode, - scanCode, - modifiers - ); + return super.keyPressed(keyCode, scanCode, modifiers) || + this.searchBox.keyPressed(keyCode, scanCode, modifiers); } @Override @@ -340,7 +345,8 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) Text fullModCount = this.computeModCountText(true); if (!ModMenuConfig.CONFIG_MODE.getValue() && this.updateFiltersX()) { if (this.filterOptionsShown) { - if (!ModMenuConfig.SHOW_LIBRARIES.getValue() || textRenderer.getWidth(fullModCount) <= this.filtersX - 5) { + if (!ModMenuConfig.SHOW_LIBRARIES.getValue() || + textRenderer.getWidth(fullModCount) <= this.filtersX - 5) { DrawContext.drawText(textRenderer, fullModCount.asOrderedText(), this.searchBoxX, @@ -365,7 +371,8 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) ); } } else { - if (!ModMenuConfig.SHOW_LIBRARIES.getValue() || textRenderer.getWidth(fullModCount) <= modList.getWidth() - 5) { + if (!ModMenuConfig.SHOW_LIBRARIES.getValue() || + textRenderer.getWidth(fullModCount) <= modList.getWidth() - 5) { DrawContext.drawText(textRenderer, fullModCount.asOrderedText(), this.searchBoxX, @@ -409,8 +416,7 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) int maxNameWidth = this.width - (x + imageOffset); if (textRenderer.getWidth(name) > maxNameWidth) { StringVisitable ellipsis = StringVisitable.plain("..."); - trimmedName = StringVisitable.concat(textRenderer.trimToWidth( - name, + trimmedName = StringVisitable.concat(textRenderer.trimToWidth(name, maxNameWidth - textRenderer.getWidth(ellipsis) ), ellipsis); } @@ -421,12 +427,14 @@ public void render(DrawContext DrawContext, int mouseX, int mouseY, float delta) 0xFFFFFF, true ); - if (mouseX > x + imageOffset && mouseY > RIGHT_PANE_Y + 1 && mouseY < RIGHT_PANE_Y + 1 + textRenderer.fontHeight && mouseX < x + imageOffset + textRenderer.getWidth( - trimmedName)) { + if (mouseX > x + imageOffset && mouseY > RIGHT_PANE_Y + 1 && + mouseY < RIGHT_PANE_Y + 1 + textRenderer.fontHeight && + mouseX < x + imageOffset + textRenderer.getWidth(trimmedName)) { this.setTooltip(ModMenuScreenTexts.modIdTooltip(mod.getId())); } if (this.init || modBadgeRenderer == null || modBadgeRenderer.getMod() != mod) { - modBadgeRenderer = new ModBadgeRenderer(x + imageOffset + this.client.textRenderer.getWidth(trimmedName) + 2, + modBadgeRenderer = new ModBadgeRenderer( + x + imageOffset + this.client.textRenderer.getWidth(trimmedName) + 2, RIGHT_PANE_Y, width - 28, selectedEntry.mod, @@ -528,13 +536,13 @@ public ModListEntry getSelectedEntry() { public void updateSelectedEntry(ModListEntry entry) { if (entry != null) { this.selected = entry; + String modId = selected.getMod().getId(); if (this.configureButton != null) { - String modId = selected.getMod().getId(); this.configureButton.active = modHasConfigScreen.get(modId); - this.configureButton.visible = selected != null && modHasConfigScreen.get(modId) || modScreenErrors.containsKey( - modId); + this.configureButton.visible = + selected != null && modHasConfigScreen.get(modId) || modScreenErrors.containsKey(modId); if (modScreenErrors.containsKey(modId)) { Throwable e = modScreenErrors.get(modId); @@ -544,11 +552,21 @@ public void updateSelectedEntry(ModListEntry entry) { } } + var isMinecraft = modId.equals("minecraft"); + + if (isMinecraft) { + this.websiteButton.setMessage(SEND_FEEDBACK_TEXT); + this.issuesButton.setMessage(REPORT_BUGS_TEXT); + } else { + this.websiteButton.setMessage(ModMenuScreenTexts.WEBSITE); + this.issuesButton.setMessage(ModMenuScreenTexts.ISSUES); + } + this.websiteButton.visible = true; - this.websiteButton.active = selected.getMod().getWebsite() != null; + this.websiteButton.active = isMinecraft || selected.getMod().getWebsite() != null; this.issuesButton.visible = true; - this.issuesButton.active = selected.getMod().getIssueTracker() != null; + this.issuesButton.active = isMinecraft || selected.getMod().getIssueTracker() != null; } } @@ -565,8 +583,10 @@ public String getSearchInput() { } private boolean updateFiltersX() { - if ((this.filtersWidth + textRenderer.getWidth(this.computeModCountText(true)) + 20) >= this.searchRowWidth && ((this.filtersWidth + textRenderer.getWidth( - computeModCountText(false)) + 20) >= this.searchRowWidth || (this.filtersWidth + textRenderer.getWidth(this.computeLibraryCountText()) + 20) >= this.searchRowWidth)) { + if ((this.filtersWidth + textRenderer.getWidth(this.computeModCountText(true)) + 20) >= this.searchRowWidth && + ((this.filtersWidth + textRenderer.getWidth(computeModCountText(false)) + 20) >= this.searchRowWidth || + (this.filtersWidth + textRenderer.getWidth(this.computeLibraryCountText()) + 20) >= this.searchRowWidth + )) { this.filtersX = this.paneWidth / 2 - this.filtersWidth / 2; return !filterOptionsShown; } else { diff --git a/src/main/java/com/terraformersmc/modmenu/mixin/MixinGameMenu.java b/src/main/java/com/terraformersmc/modmenu/mixin/MixinGameMenu.java index 03187cb7..5fc396e4 100644 --- a/src/main/java/com/terraformersmc/modmenu/mixin/MixinGameMenu.java +++ b/src/main/java/com/terraformersmc/modmenu/mixin/MixinGameMenu.java @@ -36,28 +36,42 @@ private void onInitWidgets(CallbackInfo ci, GridWidget gridWidget, GridWidget.Ad final int spacing = 24; int buttonsY = this.height / 4 + 8; ModMenuConfig.GameMenuButtonStyle style = ModMenuConfig.GAME_MENU_BUTTON_STYLE.getValue(); - int reportBugsY = this.height / 4 + 72 - 16 + 1; + int vanillaButtonsY = this.height / 4 + 72 - 16 + 1; + final int fullWidthButton = 204; + for (int i = 0; i < buttons.size(); i++) { Widget widget = buttons.get(i); - if (style == ModMenuConfig.GameMenuButtonStyle.BELOW_BUGS) { + if (style == ModMenuConfig.GameMenuButtonStyle.INSERT) { if (!(widget instanceof ClickableWidget button) || button.visible) { - ModMenuEventHandler.shiftButtons(widget, modsButtonIndex == -1, spacing); + ModMenuEventHandler.shiftButtons(widget, modsButtonIndex == -1 || ModMenuEventHandler.buttonHasText(widget, "menu.reportBugs"), spacing); if (modsButtonIndex == -1) { buttonsY = widget.getY(); } } } - if (ModMenuEventHandler.buttonHasText(widget, "menu.reportBugs")) { + boolean isShortFeedback = ModMenuEventHandler.buttonHasText(widget, "menu.feedback"); + boolean isLongFeedback = ModMenuEventHandler.buttonHasText(widget, "menu.sendFeedback"); + + if (isShortFeedback || isLongFeedback) { modsButtonIndex = i + 1; - reportBugsY = widget.getY(); - if (style == ModMenuConfig.GameMenuButtonStyle.REPLACE_BUGS) { - buttons.set(i, new ModMenuButtonWidget(widget.getX(), + vanillaButtonsY = widget.getY(); + if (style == ModMenuConfig.GameMenuButtonStyle.REPLACE) { + buttons.set(i, new ModMenuButtonWidget( + widget.getX(), widget.getY(), - widget.getWidth(), + isShortFeedback ? widget.getWidth() : fullWidthButton, widget.getHeight(), ModMenuApi.createModsButtonText(), this )); + buttons.stream() + .filter(w -> ModMenuEventHandler.buttonHasText(w, "menu.reportBugs")) + .forEach(w -> { + if (w instanceof ClickableWidget cw) { + cw.visible = false; + cw.active = false; + } + }); } else { modsButtonIndex = i + 1; if (!(widget instanceof ClickableWidget button) || button.visible) { @@ -67,23 +81,25 @@ private void onInitWidgets(CallbackInfo ci, GridWidget gridWidget, GridWidget.Ad } } if (modsButtonIndex != -1) { - if (style == ModMenuConfig.GameMenuButtonStyle.BELOW_BUGS) { - buttons.add(modsButtonIndex, new ModMenuButtonWidget(this.width / 2 - 102, + if (style == ModMenuConfig.GameMenuButtonStyle.INSERT) { + buttons.add(modsButtonIndex, new ModMenuButtonWidget( + this.width / 2 - 102, buttonsY + spacing, - 204, + fullWidthButton, 20, ModMenuApi.createModsButtonText(), this )); } else if (style == ModMenuConfig.GameMenuButtonStyle.ICON) { - buttons.add(modsButtonIndex, new UpdateCheckerTexturedButtonWidget(this.width / 2 + 4 + 100 + 2, - reportBugsY, + buttons.add(modsButtonIndex, new UpdateCheckerTexturedButtonWidget( + this.width / 2 + 4 + 100 + 2, + vanillaButtonsY, 20, 20, 0, 0, 20, - ModMenuEventHandler.FABRIC_ICON_BUTTON_LOCATION, + ModMenuEventHandler.MODS_BUTTON_TEXTURE, 32, 64, button -> MinecraftClient.getInstance().setScreen(new ModsScreen(this)), diff --git a/src/main/resources/assets/modmenu/lang/be_by.json b/src/main/resources/assets/modmenu/lang/be_by.json index 3daa863f..16e925c5 100644 --- a/src/main/resources/assets/modmenu/lang/be_by.json +++ b/src/main/resources/assets/modmenu/lang/be_by.json @@ -152,8 +152,6 @@ "option.modmenu.mods_button_style.shrink": "Побач", "option.modmenu.mods_button_style.icon": "Іконкі", "option.modmenu.game_menu_button_style": "Меню гульні", - "option.modmenu.game_menu_button_style.below_bugs": "Ніжэй памылак", - "option.modmenu.game_menu_button_style.replace_bugs": "Замест памылак", "option.modmenu.game_menu_button_style.icon": "Іконка", "option.modmenu.random_java_colors": "Java колер", "option.modmenu.random_java_colors.true": "Ад распрацоўшчыка", diff --git a/src/main/resources/assets/modmenu/lang/en_us.json b/src/main/resources/assets/modmenu/lang/en_us.json index a3a7f272..2c779bef 100644 --- a/src/main/resources/assets/modmenu/lang/en_us.json +++ b/src/main/resources/assets/modmenu/lang/en_us.json @@ -153,8 +153,8 @@ "option.modmenu.mods_button_style.shrink": "Adjacent", "option.modmenu.mods_button_style.icon": "Icon", "option.modmenu.game_menu_button_style": "Game Menu", - "option.modmenu.game_menu_button_style.below_bugs": "Below Bugs", - "option.modmenu.game_menu_button_style.replace_bugs": "Replace Bugs", + "option.modmenu.game_menu_button_style.insert": "Insert", + "option.modmenu.game_menu_button_style.replace": "Replace", "option.modmenu.game_menu_button_style.icon": "Icon", "option.modmenu.random_java_colors": "Java Color", "option.modmenu.random_java_colors.true": "Vendor", diff --git a/src/main/resources/assets/modmenu/lang/no_no.json b/src/main/resources/assets/modmenu/lang/no_no.json index c29c2784..5bbb3be1 100644 --- a/src/main/resources/assets/modmenu/lang/no_no.json +++ b/src/main/resources/assets/modmenu/lang/no_no.json @@ -143,8 +143,6 @@ "option.modmenu.mods_button_style.shrink": "Ved siden av", "option.modmenu.mods_button_style.icon": "Ikon", "option.modmenu.game_menu_button_style": "Spillmeny", - "option.modmenu.game_menu_button_style.below_bugs": "Under feilmeldinger", - "option.modmenu.game_menu_button_style.replace_bugs": "Erstatt feilmeldinger", "option.modmenu.game_menu_button_style.icon": "Ikon", "option.modmenu.random_java_colors": "Java Farge", "option.modmenu.random_java_colors.true": "Leverandør", diff --git a/src/main/resources/assets/modmenu/lang/pl_pl.json b/src/main/resources/assets/modmenu/lang/pl_pl.json index 4954c08c..4213e1f3 100644 --- a/src/main/resources/assets/modmenu/lang/pl_pl.json +++ b/src/main/resources/assets/modmenu/lang/pl_pl.json @@ -152,8 +152,6 @@ "option.modmenu.mods_button_style.shrink": "Obok Realms", "option.modmenu.mods_button_style.icon": "Ikonka", "option.modmenu.game_menu_button_style": "W menu gry", - "option.modmenu.game_menu_button_style.below_bugs": "Poniżej błędów", - "option.modmenu.game_menu_button_style.replace_bugs": "Zastąp błędy", "option.modmenu.game_menu_button_style.icon": "Ikonka", "option.modmenu.random_java_colors": "Kolor Javy", "option.modmenu.random_java_colors.true": "Dostawca", diff --git a/src/main/resources/assets/modmenu/lang/tt_ru.json b/src/main/resources/assets/modmenu/lang/tt_ru.json index 81574a1f..6da1897c 100644 --- a/src/main/resources/assets/modmenu/lang/tt_ru.json +++ b/src/main/resources/assets/modmenu/lang/tt_ru.json @@ -152,8 +152,6 @@ "option.modmenu.mods_button_style.shrink": "[Realms] уңда", "option.modmenu.mods_button_style.icon": "Тамгачык", "option.modmenu.game_menu_button_style": "Менюда", - "option.modmenu.game_menu_button_style.below_bugs": "Хаталар астына", - "option.modmenu.game_menu_button_style.replace_bugs": "Хаталар алыштыру", "option.modmenu.game_menu_button_style.icon": "Тамгачык", "option.modmenu.random_java_colors": "Java төсе", "option.modmenu.random_java_colors.true": "Җитештерүчедән", diff --git a/src/main/resources/assets/modmenu/lang/zh_cn.json b/src/main/resources/assets/modmenu/lang/zh_cn.json index 43311060..43717058 100644 --- a/src/main/resources/assets/modmenu/lang/zh_cn.json +++ b/src/main/resources/assets/modmenu/lang/zh_cn.json @@ -140,8 +140,6 @@ "option.modmenu.mods_button_style.shrink": "Realms同一行", "option.modmenu.mods_button_style.icon": "图标", "option.modmenu.game_menu_button_style": "暂停菜单中的位置", - "option.modmenu.game_menu_button_style.below_bugs": "Bugs下一行", - "option.modmenu.game_menu_button_style.replace_bugs": "替换掉Bugs", "option.modmenu.game_menu_button_style.icon": "图标", "option.modmenu.random_java_colors": "Java图标颜色", "option.modmenu.random_java_colors.true": "供应商颜色",