diff options
3 files changed, 9 insertions, 4 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java index 93dbf72ac..4236047fb 100644 --- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java +++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java @@ -166,7 +166,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra widgets.add(new ButtonWidget(RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel ? window.getScaledWidth() - 55 : 35, 10, 20, 20, "") { @Override public void onPressed() { - MinecraftClient.getInstance().player.sendChatMessage(RoughlyEnoughItemsCore.getConfigManager().getConfig().gamemodeCommand.replaceAll("\\{gamemode}", getNextGameMode().getName())); + MinecraftClient.getInstance().player.sendChatMessage(RoughlyEnoughItemsCore.getConfigManager().getConfig().gamemodeCommand.replaceAll("\\{gamemode}", getNextGameMode(Screen.hasShiftDown()).getName())); } @Override @@ -177,7 +177,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra @Override public Optional<String> getTooltips() { - return Optional.ofNullable(I18n.translate("text.rei.gamemode_button.tooltip", getGameModeText(getNextGameMode()))); + return Optional.ofNullable(I18n.translate("text.rei.gamemode_button.tooltip", getGameModeText(getNextGameMode(Screen.hasShiftDown())))); } @Override @@ -298,12 +298,16 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra return I18n.translate("selectWorld.gameMode." + gameMode.getName()); } - private GameMode getNextGameMode() { + private GameMode getNextGameMode(boolean reverse) { try { GameMode current = getCurrentGameMode(); int next = current.getId() + 1; + if (reverse) + next -= 2; if (next > 3) next = 0; + if (next < 0) + next = 3; return GameMode.byId(next); } catch (Exception e) { return GameMode.NOT_SET; diff --git a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java index 63793909d..e3f58b089 100644 --- a/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java +++ b/src/main/java/me/shedaniel/rei/utils/ClothScreenRegistry.java @@ -33,6 +33,7 @@ public class ClothScreenRegistry { public static final String RESET = "text.cloth-config.reset_value"; + @SuppressWarnings("deprecation") public static Screen getConfigScreen(Screen parent) { final ConfigManager configManager = RoughlyEnoughItemsCore.getConfigManager(); ConfigBuilder builder = ConfigBuilder.create().setParentScreen(parent).setTitle("text.rei.config.title").setSavingRunnable(() -> { diff --git a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json index b7c0084c0..8ba68087a 100755 --- a/src/main/resources/assets/roughlyenoughitems/lang/en_us.json +++ b/src/main/resources/assets/roughlyenoughitems/lang/en_us.json @@ -71,7 +71,7 @@ "text.rei.choose_page": "Choose Page", "text.rei.config.max_recipes_per_page": "Maximum Recipes Each Page:", "text.rei.config.enable_util_buttons": "Enable Utils Buttons:", - "text.rei.gamemode_button.tooltip": "Switch GameMode\n§7Switch to %s mode.", + "text.rei.gamemode_button.tooltip": "Switch GameMode\n§7Switch to %s mode.\n\n§7Shift-Click to switch in a reverse cycle.", "text.rei.weather_button.tooltip": "Switch Weather\n§7Switch to %s.", "text.rei.enabled": "Yes", "text.rei.disabled": "No", |
