shedaniel 5 жил өмнө
parent
commit
66907ad200

+ 1 - 1
gradle.properties

@@ -1,4 +1,4 @@
-mod_version=3.3.2
+mod_version=3.3.3
 minecraft_version=1.15.1
 yarn_version=1.15.1+build.1
 fabricloader_version=0.7.2+build.174

+ 0 - 5
src/main/java/me/shedaniel/rei/api/ConfigObject.java

@@ -6,7 +6,6 @@
 package me.shedaniel.rei.api;
 
 import me.shedaniel.clothconfig2.api.ModifierKeyCode;
-import me.shedaniel.rei.gui.config.ItemCheatingMode;
 import me.shedaniel.rei.gui.config.ItemListOrdering;
 import me.shedaniel.rei.gui.config.RecipeScreenType;
 import me.shedaniel.rei.gui.config.SearchFieldLocation;
@@ -27,8 +26,6 @@ public interface ConfigObject {
     
     boolean isLighterButtonHover();
     
-    void setLighterButtonHover(boolean lighterButtonHover);
-    
     boolean isOverlayVisible();
     
     void setOverlayVisible(boolean overlayVisible);
@@ -84,8 +81,6 @@ public interface ConfigObject {
     
     boolean areClickableRecipeArrowsEnabled();
     
-    ItemCheatingMode getItemCheatingMode();
-    
     boolean isUsingLightGrayRecipeBorder();
     
     boolean doesVillagerScreenHavePermanentScrollBar();

+ 8 - 0
src/main/java/me/shedaniel/rei/gui/OverlaySearchField.java

@@ -59,6 +59,14 @@ public class OverlaySearchField extends TextFieldWidget {
         RenderSystem.enableDepthTest();
     }
     
+    @Override
+    protected void renderSuggestion(int x, int y) {
+        if (containsMouse(PointHelper.fromMouse()) || isFocused())
+            this.font.drawWithShadow(this.font.trimToWidth(this.getSuggestion(), this.getWidth()), x, y, ScreenHelper.isDarkModeEnabled() ? 0xccddaa3d : 0xddeaeaea);
+        else
+            this.font.drawWithShadow(this.font.trimToWidth(this.getSuggestion(), this.getWidth()), x, y, -6250336);
+    }
+    
     @Override
     public void renderBorder() {
         if (!isSearching)

+ 3 - 9
src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java

@@ -16,12 +16,12 @@ import me.shedaniel.math.impl.PointHelper;
 import me.shedaniel.rei.RoughlyEnoughItemsCore;
 import me.shedaniel.rei.api.*;
 import me.shedaniel.rei.gui.ContainerScreenOverlay;
-import me.shedaniel.rei.gui.config.ItemCheatingMode;
 import me.shedaniel.rei.gui.config.ItemListOrdering;
 import me.shedaniel.rei.impl.ScreenHelper;
 import me.shedaniel.rei.impl.SearchArgument;
 import me.shedaniel.rei.utils.CollectionUtils;
 import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.screen.Screen;
 import net.minecraft.client.network.ClientPlayerEntity;
 import net.minecraft.client.render.BufferBuilder;
 import net.minecraft.client.render.Tessellator;
@@ -778,14 +778,8 @@ public class EntryListWidget extends WidgetWithBounds {
             if (containsMouse(mouseX, mouseY) && ClientHelper.getInstance().isCheating()) {
                 EntryStack entry = getCurrentEntry().copy();
                 if (!entry.isEmpty()) {
-                    if (entry.getType() == EntryStack.Type.ITEM) {
-                        if (ConfigObject.getInstance().getItemCheatingMode() == ItemCheatingMode.REI_LIKE)
-                            entry.setAmount(button != 1 ? 1 : entry.getItemStack().getMaxCount());
-                        else if (ConfigObject.getInstance().getItemCheatingMode() == ItemCheatingMode.JEI_LIKE)
-                            entry.setAmount(button != 0 ? 1 : entry.getItemStack().getMaxCount());
-                        else
-                            entry.setAmount(1);
-                    }
+                    if (entry.getType() == EntryStack.Type.ITEM)
+                        entry.setAmount(button != 1 && !Screen.hasShiftDown() ? 1 : entry.getItemStack().getMaxCount());
                     ClientHelper.getInstance().tryCheatingEntry(entry);
                     return true;
                 }

+ 5 - 3
src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java

@@ -215,11 +215,13 @@ public class EntryWidget extends WidgetWithBounds {
         if (containsMouse(PointHelper.fromMouse())) {
             if (interactableFavorites && ConfigObject.getInstance().isFavoritesEnabled() && containsMouse(PointHelper.fromMouse()) && !getCurrentEntry().isEmpty()) {
                 ModifierKeyCode keyCode = ConfigObject.getInstance().getFavoriteKeyCode();
+                EntryStack entry = getCurrentEntry().copy();
+                entry.setAmount(1000);
                 if (keyCode.matchesKey(int_1, int_2)) {
                     if (reverseFavoritesAction())
-                        ConfigManager.getInstance().getFavorites().remove(getCurrentEntry());
-                    else if (!CollectionUtils.anyMatchEqualsAll(ConfigManager.getInstance().getFavorites(), getCurrentEntry()))
-                        ConfigManager.getInstance().getFavorites().add(getCurrentEntry());
+                        ConfigManager.getInstance().getFavorites().remove(entry);
+                    else if (!CollectionUtils.anyMatchEqualsAll(ConfigManager.getInstance().getFavorites(), entry))
+                        ConfigManager.getInstance().getFavorites().add(entry);
                     ContainerScreenOverlay.getEntryListWidget().updateSearch(ScreenHelper.getSearchField().getText());
                     ConfigManager.getInstance().saveConfig();
                     minecraft.getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));

+ 5 - 1
src/main/java/me/shedaniel/rei/gui/widget/TextFieldWidget.java

@@ -433,7 +433,7 @@ public class TextFieldWidget extends WidgetWithBounds implements Tickable {
             }
             
             if (!boolean_3 && text.isEmpty() && this.suggestion != null) {
-                this.font.drawWithShadow(this.font.trimToWidth(this.suggestion, this.getWidth()), (float) int_6, (float) int_7, -8355712);
+                renderSuggestion(int_6, int_7);
             }
             
             int var10002;
@@ -460,6 +460,10 @@ public class TextFieldWidget extends WidgetWithBounds implements Tickable {
         }
     }
     
+    protected void renderSuggestion(int x, int y) {
+        this.font.drawWithShadow(this.font.trimToWidth(this.suggestion, this.getWidth()), x, y, -8355712);
+    }
+    
     protected void method_1886(int int_1, int int_2, int int_3, int int_4) {
         int int_6;
         if (int_1 < int_3) {

+ 5 - 14
src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java

@@ -13,7 +13,10 @@ import me.shedaniel.clothconfig2.api.Modifier;
 import me.shedaniel.clothconfig2.api.ModifierKeyCode;
 import me.shedaniel.rei.api.ConfigObject;
 import me.shedaniel.rei.api.annotations.Internal;
-import me.shedaniel.rei.gui.config.*;
+import me.shedaniel.rei.gui.config.ItemListOrdering;
+import me.shedaniel.rei.gui.config.ItemListOrderingConfig;
+import me.shedaniel.rei.gui.config.RecipeScreenType;
+import me.shedaniel.rei.gui.config.SearchFieldLocation;
 import net.minecraft.client.util.InputUtil;
 
 import java.util.ArrayList;
@@ -32,12 +35,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
     
     @Override
     public boolean isLighterButtonHover() {
-        return appearance.lighterButtonHover;
-    }
-    
-    @Override
-    public void setLighterButtonHover(boolean lighterButtonHover) {
-        appearance.lighterButtonHover = lighterButtonHover;
+        return true;
     }
     
     @Override
@@ -165,11 +163,6 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
         return appearance.clickableRecipeArrows;
     }
     
-    @Override
-    public ItemCheatingMode getItemCheatingMode() {
-        return appearance.itemCheatingMode;
-    }
-    
     @Override
     public boolean isUsingLightGrayRecipeBorder() {
         return appearance.lightGrayRecipeBorder;
@@ -296,9 +289,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
         @Comment("Declares the position of the item list panel.") private boolean mirrorItemPanel = false;
         @Comment("Declares the maximum amount of recipes displayed in a page if possible.") @ConfigEntry.BoundedDiscrete(min = 2, max = 99)
         private int maxRecipePerPage = 3;
-        @Comment("Declares whether REI should lighten the button if hovered.") private boolean lighterButtonHover = true;
         private boolean clickableRecipeArrows = true;
-        @UseEnumSelectorInstead private ItemCheatingMode itemCheatingMode = ItemCheatingMode.REI_LIKE;
         @Comment("Declares the appearance of recipe's border.") private boolean lightGrayRecipeBorder = false;
         @Comment("Declares whether REI should append mod names to item stacks.") private boolean appendModNames = true;
         @Comment("Declares how the scrollbar in villager screen should act.") private boolean villagerScreenPermanentScrollBar = false;

+ 1 - 1
src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java

@@ -53,7 +53,7 @@ public class DefaultCampfireCategory implements RecipeCategory<DefaultCampfireDi
                 MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
                 blit(startPoint.x, startPoint.y, 0, 177, 82, 34);
                 int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f);
-                blit(startPoint.x + 1, startPoint.y + 31 + (3 - height), 82, 77 + (14 - height), 14, height);
+                blit(startPoint.x + 2, startPoint.y + 31 + (3 - height), 82, 77 + (14 - height), 14, height);
                 String text = I18n.translate("category.rei.campfire.time", MathHelper.floor(recipeDisplaySupplier.get().getCookTime() / 20d));
                 int length = MinecraftClient.getInstance().textRenderer.getStringWidth(text);
                 MinecraftClient.getInstance().textRenderer.draw(text, bounds.x + bounds.width - length - 5, bounds.y + 5, ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);

+ 1 - 1
src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java

@@ -61,7 +61,7 @@ public class DefaultCookingCategory implements TransferRecipeCategory<DefaultCoo
                 MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
                 blit(startPoint.x, startPoint.y, 0, 177, 82, 34);
                 int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f);
-                blit(startPoint.x + 1, startPoint.y + 31 + (3 - height), 82, 77 + (14 - height), 14, height);
+                blit(startPoint.x + 2, startPoint.y + 31 + (3 - height), 82, 77 + (14 - height), 14, height);
                 String text = I18n.translate("category.rei.cooking.xp", recipeDisplaySupplier.get().getXp());
                 int length = MinecraftClient.getInstance().textRenderer.getStringWidth(text);
                 MinecraftClient.getInstance().textRenderer.draw(text, bounds.x + bounds.width - length - 5, bounds.y + 5, ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);

+ 1 - 1
src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java

@@ -59,7 +59,7 @@ public class DefaultFuelCategory implements RecipeCategory<DefaultFuelDisplay> {
                 MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
                 blit(bounds.x + 5, startPoint.y, 0, 73, 18, 34);
                 int height = MathHelper.ceil((System.currentTimeMillis() / 250 % 14d) / 1f);
-                blit(bounds.x + 6, startPoint.y + 12 + (3 - height), 82, 77 + (14 - height), 14, height);
+                blit(bounds.x + 7, startPoint.y + 12 + (3 - height), 82, 77 + (14 - height), 14, height);
                 minecraft.textRenderer.draw(I18n.translate("category.rei.fuel.time", recipeDisplaySupplier.get().getFuelTime()), bounds.x + 26, bounds.getMaxY() - 15, ScreenHelper.isDarkModeEnabled() ? 0xFFBBBBBB : 0xFF404040);
             }
         }));