Unknown пре 6 година
родитељ
комит
bc60dca2ed

+ 7 - 3
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;

+ 1 - 0
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(() -> {

+ 1 - 1
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",