Unknown 6 жил өмнө
parent
commit
e405ee7a3c
38 өөрчлөгдсөн 147 нэмэгдсэн , 274 устгасан
  1. 1 164
      CHANGELOG.md
  2. 1 1
      gradle.properties
  3. 3 2
      src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java
  4. 4 3
      src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
  5. 2 1
      src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java
  6. 37 8
      src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
  7. 1 1
      src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java
  8. 2 1
      src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java
  9. 1 0
      src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java
  10. 1 0
      src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java
  11. 2 2
      src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
  12. 3 1
      src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java
  13. 3 3
      src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java
  14. 7 5
      src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java
  15. 2 5
      src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java
  16. 6 5
      src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java
  17. 2 1
      src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java
  18. 5 6
      src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java
  19. 2 2
      src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java
  20. 2 1
      src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java
  21. 4 2
      src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java
  22. 3 3
      src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java
  23. 3 1
      src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java
  24. 3 3
      src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java
  25. 5 5
      src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java
  26. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/bg_bg.json
  27. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/de_de.json
  28. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/en_ud.json
  29. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/en_us.json
  30. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/et_ee.json
  31. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/fr_fr.json
  32. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/lol_us.json
  33. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/pt_br.json
  34. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/zh_cn.json
  35. 4 4
      src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json
  36. 2 2
      src/main/resources/fabric.mod.json
  37. 0 0
      src/main/resources/icon.png
  38. 0 6
      src/main/resources/pack.mcmeta

+ 1 - 164
CHANGELOG.md

@@ -1,164 +1 @@
-View full changelog [here](https://github.com/shedaniel/RoughlyEnoughItems/blob/1.14/CHANGELOG.md).
-## v2.9+build.112
-- Fixed: ConcurrentModificationException crash in opening all recipes
-- Fixed: Defaulted cheating command to `minecraft:give` instead of `give`
-- Fixed: Can't cheat a stack of items on servers
-- Fixed [#88](https://github.com/shedaniel/RoughlyEnoughItems/issues/88): Stupid Item Search
-## v2.9+build.111
-- Added: Buttons to switch category page in original recipe viewing screen
-- Updated: Mappings to 1.14.1
-## v2.9+build.110
-- Fixed: Build 109 Crash
-- Fixed: Next Page / Previous Page crash in villager recipe mode
-- Added: Scrolling in villager recipe mode
-- Added: New bad javadoc: https://shedaniel.me/RoughlyEnoughItems/
-#### v2.9-beta+build.109 (BETA)
-- Fixed [#92](https://github.com/shedaniel/RoughlyEnoughItems/issues/92): Make REI Buttons use an extra sheet
-- Adds: Support for `{item_name}` in cheating items for getting the path of the item identifier
-#### v2.9-beta+build.108 (BETA)
-- Fixed [#88](https://github.com/shedaniel/RoughlyEnoughItems/issues/88): Stupid Item Search
-#### v2.9-beta+build.107 (BETA)
-- Fixed: Crashing when clicking tabs
-- Added: Buttons to switch category page
-- Fixed: NullPointerException by geniii
-- Fixed [#58](https://github.com/shedaniel/RoughlyEnoughItems/issues/58): Keybinds (e.g. O, R, U) working even a search field is focused
-#### v2.9-beta+build.106 (BETA)
-- Using: [HammerLib](https://minecraft.curseforge.com/projects/hammer-lib) as a simple opengl scissors api
-- New: Mod Name of category new shows in category tooltips
-- New: Renderer API
-- New: Villager Trading Like Recipe Screen. ![image](https://cdn.discordapp.com/attachments/432055962233470988/576077676305973275/unknown.png)
-- New: Recipe Screen Selection Screen
-- Removed: All `Locale.ROOT` usage
-- Fixed: Button Width Rendering issues when the width is an odd number
-- Changed: Mod Name changed from `RoughlyEnoughItems` to `Roughly Enough Items`
-- Changed: Lots of internal refractors
-- Fixed: Enchanting books not showing its maximum level
-## v2.8.2+build.104
-- Fixed [#81](https://github.com/shedaniel/RoughlyEnoughItems/issues/81): Scrolling unaffected by exclusion zones.
-- Added [#82](https://github.com/shedaniel/RoughlyEnoughItems/issues/82): Close search after pressing "Enter"
-- Added [#83](https://github.com/shedaniel/RoughlyEnoughItems/issues/83): 2 More keybinds
-## v2.8.1+build.103
-- Fixed: Item Searching Layering
-- Added: Some tooltips in the config
-- Fixed [#58](https://github.com/shedaniel/RoughlyEnoughItems/issues/58): Keybinds (e.g. O, R, U) working even creative search field is focused
-## v2.8.1+build.102
-- Fixed: Server incorrect permission check
-- Fixed: Base Bounds not correctly resizing
-- Improved: Search Field
-- Added: Right Click for Item Searching ![image](https://cdn.discordapp.com/attachments/530305137382653952/573838234333741064/unknown.png)
-## v2.8.1+build.101
-- Updated [#77](https://github.com/shedaniel/RoughlyEnoughItems/pull/77): Updated Simplified Chinese by XuyuEre
-- Updated: Updated Traditional Chinese by XuyuEre & Danielshe
-- New: Better Exclusion Zone Handling
-## v2.8.0+build.100
-- Fixed [#76](https://github.com/shedaniel/RoughlyEnoughItems/issues/76): Laggy Changing Pages
-- New: Better Server Support (You can now drop REI into server mods)
-- New: Better Cheat Mode Button
-## v2.7.11.97
-- Fixed [#72](https://github.com/shedaniel/RoughlyEnoughItems/issues/72): Crash on clicking craftable items filter
-- New: Load REI Plugins via entry points, old way works too but support will be dropped
-- Removed: 'Enable Legacy Plugin Support' Option
-## v2.7.10.96
-- Fixed [#69](https://github.com/shedaniel/RoughlyEnoughItems/issues/69): Weird Search Field
-## v2.7.10.95
-- Fixed [#67](https://github.com/shedaniel/RoughlyEnoughItems/issues/67): Item Panel Crashes
-## v2.7.9.94
-- Added: Support for `c` namespace ([Cotton](https://github.com/CottonMC/cotton) Common Resources)
-- Added: Warping around the recipe book: ![image](https://media.discordapp.net/attachments/530305137382653952/568432084419608576/unknown.png?width=967&height=517) 
-- Fixed [#66](https://github.com/shedaniel/RoughlyEnoughItems/issues/66): Tooltips can be out of bounds
-## v2.7.8.93
-- Fixed: Some localisations having broken json
-- Fixed: Depth of Craftable Toggle Button
-## v2.7.8.92
-- Modified: Bundled with updated API for pre3
-- Added: Option for Light Gray Recipe Border (I guess JEI like? I am going to get killed by mezz)
-- Modified: Rearranged Config Screen 
-## v2.7.7.91
-- Updated: Chinese Localisation
-## v2.7.6.90
-- Fixed [#63](https://github.com/shedaniel/RoughlyEnoughItems/issues/63): Pressing Space in the search bar opens the Config GUI
-- Added [#64](https://github.com/shedaniel/RoughlyEnoughItems/issues/64): Option to flip give amount
-## v2.7.5.89
-- Fixed: Keybinds (e.g. O, R, U) working even if recipe book search field is focused
-## v2.7.4.88
-- Fixed: Item List Overlay buttons still enabled when there is only 1 page
-- Fixed [#58](https://github.com/shedaniel/RoughlyEnoughItems/issues/58): Keybinds (e.g. O, R, U) working even if creative search field is focused
-- Fixed [#59](https://github.com/shedaniel/RoughlyEnoughItems/issues/59): Wrong page calculation (Thanks geniiii)
-## v2.7.3.87
-- Fixed: Credits button not working
-- ~~Fixed: Keybinds (e.g. O, R, U) working even creative search field is focused~~
-## v2.7.3.86
-- Fixed [#56](https://github.com/shedaniel/RoughlyEnoughItems/issues/56): Even tho I don't know how I fixed it
-- Added: Credits button in Config Screen
-- Fixed: Odd pixel with the recipe screen
-- Fixed: Pressing R not working on the side panel while viewing recipes
-- Modified: Right-clicking the search field now focus it
-- Fixed: Craftable Only button having a weird tint when something else is focused
-- Added: Recipes now sort base on their identifiers
-## v2.7.2.85
-- Bundled with updated APIs for 1.14-pre1
-- New DisplayHelper for better bounds calculation
-## v2.7.1.84
-- Bundled with updated APIs. Fixed crash.
-## v2.7.0.83
-- Updated to Fabric Loader 0.4.0
-- Now bundled with Fabric API, Cloth Events API, Cloth Config API
-## v2.6.2.81
-- Fix [#53](https://github.com/shedaniel/RoughlyEnoughItems/issues/53): Crash on keyPressed
-## v2.6.2.80
-- Updated to 19w14b
-## v2.6.1.79
-- 75% less mixins
-- Updated to 19w14a
-## v2.6.0.78
-- Added config to force enable april fools
-- Fix crash related to `getTotalPage()`
-- Fix depth on overlay
-- Less mixins
-## v2.6.0.77
-- fish (April Fools [Download](https://minecraft.curseforge.com/projects/roughly-enough-items/files/2693786))
-## v2.6.0.76
-- New DisplayVisibilityHandler
-- Fixed [#49](https://github.com/shedaniel/RoughlyEnoughItems/issues/49): REI Overlay added twice
-## v2.5.1.75
-- Using Cloth events instead of overwriting methods \o/ (Please update [Cloth](https://minecraft.curseforge.com/projects/cloth))
-## v2.5.1.74
-- Updated to 19w13a
-## v2.5.0.73
-- Made REI crash better (lmao wut)
-## v2.5.0.72
-- Updated to 19w12b
-## v2.5.0.71
-- Removed mouseScrolled Override in mixins
-- Added spectator mode in gamemode switcher
-- Gamemodes & Weather are now translatable: [#47](https://github.com/shedaniel/RoughlyEnoughItems/issues/47)
-- Fixed Search Field
-- Fixed Button Focus
-- Added Button Tooltips
-- Removed credits button (it will be back)
-- Removed disabling credits option
-- Update to 19w12a
-- New config screen from [Cloth](https://minecraft.curseforge.com/projects/cloth)
-## v2.4.2.68
-- Fixed [Cloth](https://minecraft.curseforge.com/projects/cloth) missing text
-## v2.4.2.67
-- Fixed pages being weird
-- Added Portuguese
-## v2.4.2.66
-- Removed Mod Menu hooks, will hook into Mod Menu itself in the future
-- Improved gui widgets
-## v2.4.1.65
-- [Cloth](https://minecraft.curseforge.com/projects/cloth) is now required for REI to run
-- Update to 19w11a
-## v2.4.0.63
-- First implementation of [Cloth](https://minecraft.curseforge.com/projects/cloth), [Cloth](https://minecraft.curseforge.com/projects/cloth) is still not required for REI to boot but it will be a must have dependency when 19w11a comes.
-- Used [Cloth](https://minecraft.curseforge.com/projects/cloth) for hooking up [Mod Menu](https://minecraft.curseforge.com/projects/modmenu/) config. Example: [https://streamable.com/ivbsj](https://streamable.com/ivbsj)
-- Changed config `true / false` to `Yes / No`
-## v2.4.0.61
-- Config with comments
-- Fix creative inventory even more
-- No longer uses Fabric internals
-- Config to disable Recipe Book
-- Fixes [Issue #27: Second page react as first page recipes](https://github.com/shedaniel/RoughlyEnoughItems/issues/27)
-## v2.3.2.56
-- Removed Plugin Update Checker
+View changelog [here](https://gist.github.com/shedaniel/b7593e692319976f3349263208792922).

+ 1 - 1
gradle.properties

@@ -1,4 +1,4 @@
-mod_version=2.9
+mod_version=2.9.1
 minecraft_version=1.14.1
 yarn_version=1.14.1+build.10
 fabricloader_version=0.4.7+build.147

+ 3 - 2
src/main/java/me/shedaniel/rei/client/ClientHelperImpl.java

@@ -24,6 +24,7 @@ import net.fabricmc.fabric.impl.client.keybinding.KeyBindingRegistryImpl;
 import net.fabricmc.loader.api.FabricLoader;
 import net.fabricmc.loader.api.ModContainer;
 import net.fabricmc.loader.api.metadata.ModMetadata;
+import net.minecraft.ChatFormat;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
 import net.minecraft.client.util.InputUtil;
@@ -58,7 +59,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
         String mod = getModFromItem(item);
         if (mod.equalsIgnoreCase(""))
             return "";
-        return "§9§o" + mod;
+        return ChatFormat.BLUE.toString() + ChatFormat.ITALIC.toString() + mod;
     }
     
     @Override
@@ -66,7 +67,7 @@ public class ClientHelperImpl implements ClientHelper, ClientModInitializer {
         String mod = getModFromIdentifier(identifier);
         if (mod.equalsIgnoreCase(""))
             return "";
-        return "§9§o" + mod;
+        return ChatFormat.BLUE.toString() + ChatFormat.ITALIC.toString() + mod;
     }
     
     @Override

+ 4 - 3
src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java

@@ -15,13 +15,14 @@ import me.shedaniel.rei.client.ScreenHelper;
 import me.shedaniel.rei.gui.widget.ButtonWidget;
 import me.shedaniel.rei.gui.widget.HighlightableWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.Element;
 import net.minecraft.client.gui.screen.Screen;
 import net.minecraft.client.render.GuiLighting;
 import net.minecraft.client.resource.language.I18n;
 import net.minecraft.client.sound.PositionedSoundInstance;
-import net.minecraft.network.chat.TextComponent;
+import net.minecraft.network.chat.TranslatableComponent;
 import net.minecraft.sound.SoundEvents;
 import net.minecraft.util.Identifier;
 
@@ -39,7 +40,7 @@ public class PreRecipeViewingScreen extends Screen {
     private Map<RecipeCategory, List<RecipeDisplay>> map;
     
     public PreRecipeViewingScreen(Map<RecipeCategory, List<RecipeDisplay>> map) {
-        super(new TextComponent("text.rei.recipe_screen_type.selection"));
+        super(new TranslatableComponent("text.rei.recipe_screen_type.selection"));
         this.widgets = Lists.newArrayList();
         this.original = true;
         this.map = map;
@@ -72,7 +73,7 @@ public class PreRecipeViewingScreen extends Screen {
         this.drawCenteredString(this.font, this.title.getFormattedText(), this.width / 2, 20, 16777215);
         int i = 30;
         for(String s : this.font.wrapStringToWidthAsList(I18n.translate("text.rei.recipe_screen_type.selection.sub"), width - 30)) {
-            this.drawCenteredString(this.font, "§7" + s, width / 2, i, -1);
+            this.drawCenteredString(this.font, ChatFormat.GRAY.toString() + s, width / 2, i, -1);
             i += 10;
         }
         super.render(int_1, int_2, float_1);

+ 2 - 1
src/main/java/me/shedaniel/rei/gui/VillagerRecipeViewingScreen.java

@@ -14,6 +14,7 @@ import me.shedaniel.rei.api.*;
 import me.shedaniel.rei.client.ScreenHelper;
 import me.shedaniel.rei.gui.renderables.RecipeRenderer;
 import me.shedaniel.rei.gui.widget.*;
+import net.minecraft.ChatFormat;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.gui.Element;
 import net.minecraft.client.gui.screen.Screen;
@@ -172,7 +173,7 @@ public class VillagerRecipeViewingScreen extends Screen {
             @Override
             public void render(int mouseX, int mouseY, float delta) {
                 GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
-                font.draw((isHovered(mouseX, mouseY) ? "§n" : "") + text, x - font.getStringWidth(text) / 2, y, getDefaultColor());
+                font.draw((isHovered(mouseX, mouseY) ? ChatFormat.UNDERLINE.toString() : "") + text, x - font.getStringWidth(text) / 2, y, getDefaultColor());
                 if (clickable && getTooltips().isPresent())
                     if (!focused && isHighlighted(mouseX, mouseY))
                         ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));

+ 37 - 8
src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java

@@ -5,18 +5,37 @@
 
 package me.shedaniel.rei.gui.credits;
 
+import me.shedaniel.clothconfig.gui.DynamicSmoothScrollingEntryListWidget;
 import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.widget.AlwaysSelectedEntryListWidget;
+import net.minecraft.client.gui.DrawableHelper;
 import net.minecraft.network.chat.Component;
 
-public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget<CreditsEntryListWidget.CreditsItem> {
+public class CreditsEntryListWidget extends DynamicSmoothScrollingEntryListWidget<CreditsEntryListWidget.CreditsItem> {
     
-    public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY, int entryHeight) {
-        super(client, width, height, startY, endY, entryHeight);
+    private boolean inFocus;
+    
+    public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY) {
+        super(client, width, height, startY, endY, DrawableHelper.BACKGROUND_LOCATION);
+    }
+    
+    @Override
+    public boolean changeFocus(boolean boolean_1) {
+        if (!this.inFocus && this.getItemCount() == 0) {
+            return false;
+        } else {
+            this.inFocus = !this.inFocus;
+            if (this.inFocus && this.getFocused() == null && this.getItemCount() > 0) {
+                this.moveSelection(1);
+            } else if (this.inFocus && this.getFocused() != null) {
+                this.moveSelection(0);
+            }
+            
+            return this.inFocus;
+        }
     }
     
     public void creditsClearEntries() {
-        clearEntries();
+        clearItems();
     }
     
     private CreditsItem rei_getEntry(int int_1) {
@@ -24,11 +43,11 @@ public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget<Credit
     }
     
     public void creditsAddEntry(CreditsItem entry) {
-        addEntry(entry);
+        addItem(entry);
     }
     
     @Override
-    public int getRowWidth() {
+    public int getItemWidth() {
         return width - 80;
     }
     
@@ -37,7 +56,7 @@ public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget<Credit
         return width - 40;
     }
     
-    public static class CreditsItem extends AlwaysSelectedEntryListWidget.Entry<CreditsItem> {
+    public static class CreditsItem extends DynamicSmoothScrollingEntryListWidget.Entry<CreditsItem> {
         private String text;
         
         public CreditsItem(Component textComponent) {
@@ -52,6 +71,16 @@ public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget<Credit
         public void render(int index, int y, int x, int entryWidth, int entryHeight, int mouseX, int mouseY, boolean isSelected, float delta) {
             MinecraftClient.getInstance().textRenderer.drawWithShadow(text, x + 5, y + 5, -1);
         }
+        
+        @Override
+        public int getItemHeight() {
+            return 12;
+        }
+        
+        @Override
+        public boolean changeFocus(boolean boolean_1) {
+            return false;
+        }
     }
     
 }

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/credits/CreditsScreen.java

@@ -37,7 +37,7 @@ public class CreditsScreen extends Screen {
     
     @Override
     protected void init() {
-        children.add(entryListWidget = new CreditsEntryListWidget(minecraft, width, height, 32, height - 32, 12));
+        children.add(entryListWidget = new CreditsEntryListWidget(minecraft, width, height, 32, height - 32));
         entryListWidget.creditsClearEntries();
         for(String line : I18n.translate("text.rei.credit.text").split("\n"))
             entryListWidget.creditsAddEntry(new CreditsItem(new TextComponent(line)));

+ 2 - 1
src/main/java/me/shedaniel/rei/gui/widget/ClickableLabelWidget.java

@@ -6,6 +6,7 @@
 package me.shedaniel.rei.gui.widget;
 
 import me.shedaniel.rei.client.ScreenHelper;
+import net.minecraft.ChatFormat;
 
 import java.awt.*;
 import java.util.Optional;
@@ -30,7 +31,7 @@ public abstract class ClickableLabelWidget extends LabelWidget {
         int colour = getDefaultColor();
         if (clickable && isHovered(mouseX, mouseY))
             colour = getHoveredColor();
-        drawCenteredString(font, (isHovered(mouseX, mouseY) ? "§n" : "") + text, x, y, colour);
+        drawCenteredString(font, (isHovered(mouseX, mouseY) ? ChatFormat.UNDERLINE.toString() : "") + text, x, y, colour);
         if (clickable && getTooltips().isPresent())
             if (!focused && isHighlighted(mouseX, mouseY))
                 ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(getTooltips().get().split("\n")));

+ 1 - 0
src/main/java/me/shedaniel/rei/gui/widget/RecipeChoosePageWidget.java

@@ -104,6 +104,7 @@ public class RecipeChoosePageWidget extends DraggableWidget {
         String endString = String.format(" /%d", maxPage);
         int width = font.getStringWidth(endString);
         this.widgets.add(textFieldWidget = new TextFieldWidget(bounds.x + 7, bounds.y + 16, bounds.width - width - 12, 18));
+        textFieldWidget.setMaxLength(10000);
         textFieldWidget.stripInvaild = s -> {
             StringBuilder stringBuilder_1 = new StringBuilder();
             char[] var2 = s.toCharArray();

+ 1 - 0
src/main/java/me/shedaniel/rei/gui/widget/SearchFieldWidget.java

@@ -17,6 +17,7 @@ public class SearchFieldWidget extends TextFieldWidget {
     
     public SearchFieldWidget(int x, int y, int width, int height) {
         super(x, y, width, height);
+        setMaxLength(10000);
     }
     
     public void laterRender(int int_1, int int_2, float float_1) {

+ 2 - 2
src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java

@@ -10,7 +10,7 @@ import me.shedaniel.rei.api.ClientHelper;
 import me.shedaniel.rei.api.RecipeCategory;
 import me.shedaniel.rei.api.Renderer;
 import me.shedaniel.rei.client.ScreenHelper;
-import me.shedaniel.rei.gui.RecipeViewingScreen;
+import net.minecraft.ChatFormat;
 import net.minecraft.client.render.GuiLighting;
 import net.minecraft.util.Identifier;
 
@@ -84,7 +84,7 @@ public class TabWidget extends HighlightableWidget {
     
     private void drawTooltip() {
         if (this.minecraft.options.advancedItemTooltips)
-            ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(categoryName, "§8" + category.getIdentifier().toString(), ClientHelper.getInstance().getFormattedModFromIdentifier(category.getIdentifier())));
+            ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(categoryName, ChatFormat.DARK_GRAY.toString() + category.getIdentifier().toString(), ClientHelper.getInstance().getFormattedModFromIdentifier(category.getIdentifier())));
         else
             ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(categoryName, ClientHelper.getInstance().getFormattedModFromIdentifier(category.getIdentifier())));
     }

+ 3 - 1
src/main/java/me/shedaniel/rei/plugin/DefaultBlastingCategory.java

@@ -13,6 +13,7 @@ import me.shedaniel.rei.gui.renderables.RecipeRenderer;
 import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
 import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.render.GuiLighting;
@@ -23,6 +24,7 @@ import net.minecraft.util.math.MathHelper;
 
 import java.awt.*;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.function.Supplier;
@@ -74,7 +76,7 @@ public class DefaultBlastingCategory implements RecipeCategory<DefaultBlastingDi
         widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplay.getFuel(), true, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.smelting.fuel"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplay.getOutput(), false, true, true));

+ 3 - 3
src/main/java/me/shedaniel/rei/plugin/DefaultBlastingDisplay.java

@@ -5,7 +5,6 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import me.shedaniel.rei.api.RecipeDisplay;
 import net.minecraft.block.entity.FurnaceBlockEntity;
 import net.minecraft.item.Item;
@@ -13,6 +12,7 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.BlastingRecipe;
 import net.minecraft.util.Identifier;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -26,8 +26,8 @@ public class DefaultBlastingDisplay implements RecipeDisplay<BlastingRecipe> {
     
     public DefaultBlastingDisplay(BlastingRecipe recipe) {
         this.display = recipe;
-        this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
-        input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+        this.input = recipe.getPreviewInputs().stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
+        this.input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
         this.output = Collections.singletonList(recipe.getOutput());
     }
     

+ 7 - 5
src/main/java/me/shedaniel/rei/plugin/DefaultBrewingCategory.java

@@ -12,6 +12,7 @@ import me.shedaniel.rei.api.Renderer;
 import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
 import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.render.GuiLighting;
@@ -23,6 +24,7 @@ import net.minecraft.util.math.MathHelper;
 
 import java.awt.*;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.function.Supplier;
@@ -66,31 +68,31 @@ public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisp
         widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 1, recipeDisplay.getInput().get(0), false, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.brewing.input"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.brewing.input"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 1, recipeDisplay.getInput().get(1), false, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.brewing.reactant"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.brewing.reactant"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 40, startPoint.y + 35, recipeDisplay.getOutput(0), false, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.brewing.result"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 63, startPoint.y + 42, recipeDisplay.getOutput(1), false, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.brewing.result"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 86, startPoint.y + 35, recipeDisplay.getOutput(2), false, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.brewing.result"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.brewing.result"));
             }
         });
         return widgets;

+ 2 - 5
src/main/java/me/shedaniel/rei/plugin/DefaultBrewingDisplay.java

@@ -13,10 +13,7 @@ import net.minecraft.recipe.Ingredient;
 import net.minecraft.recipe.Recipe;
 import net.minecraft.util.Identifier;
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import java.util.Optional;
+import java.util.*;
 
 public class DefaultBrewingDisplay implements RecipeDisplay {
     
@@ -36,7 +33,7 @@ public class DefaultBrewingDisplay implements RecipeDisplay {
     
     @Override
     public List<List<ItemStack>> getInput() {
-        return Lists.newArrayList(Collections.singletonList(input), Lists.newArrayList(reactant.getStackArray()));
+        return Lists.newArrayList(Collections.singletonList(input), Arrays.asList(reactant.getStackArray()));
     }
     
     @Override

+ 6 - 5
src/main/java/me/shedaniel/rei/plugin/DefaultCampfireDisplay.java

@@ -5,7 +5,6 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import me.shedaniel.rei.api.RecipeDisplay;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.CampfireCookingRecipe;
@@ -13,13 +12,16 @@ import net.minecraft.recipe.Ingredient;
 import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Identifier;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
+import java.util.stream.Collectors;
 
 public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingRecipe> {
     
-    private List<ItemStack> inputs, output;
+    private List<List<ItemStack>> inputs;
+    private List<ItemStack> output;
     private int cookTime;
     private CampfireCookingRecipe display;
     
@@ -29,8 +31,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingReci
     }
     
     public DefaultCampfireDisplay(DefaultedList<Ingredient> ingredients, ItemStack output, int cookTime) {
-        this.inputs = Lists.newArrayList();
-        ingredients.stream().map(ingredient -> Lists.newArrayList(ingredient.getStackArray())).forEach(inputs::addAll);
+        this.inputs = ingredients.stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
         this.output = Collections.singletonList(output);
         this.cookTime = cookTime;
     }
@@ -46,7 +47,7 @@ public class DefaultCampfireDisplay implements RecipeDisplay<CampfireCookingReci
     
     @Override
     public List<List<ItemStack>> getInput() {
-        return Collections.singletonList(inputs);
+        return inputs;
     }
     
     @Override

+ 2 - 1
src/main/java/me/shedaniel/rei/plugin/DefaultCraftingCategory.java

@@ -13,6 +13,7 @@ import me.shedaniel.rei.api.Renderer;
 import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
 import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.render.GuiLighting;
@@ -77,7 +78,7 @@ public class DefaultCraftingCategory implements RecipeCategory<DefaultCraftingDi
                 if (currentStack.getAmount() == 1)
                     return "";
                 if (currentStack.getAmount() < 1)
-                    return "§c" + currentStack.getAmount();
+                    return ChatFormat.RED.toString() + currentStack.getAmount();
                 return currentStack.getAmount() + "";
             }
         });

+ 5 - 6
src/main/java/me/shedaniel/rei/plugin/DefaultCustomDisplay.java

@@ -9,7 +9,6 @@ import com.google.common.collect.Lists;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.Recipe;
 
-import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
 
@@ -34,8 +33,8 @@ public class DefaultCustomDisplay implements DefaultCraftingDisplay {
                     column.set(i % 3, true);
                 }
             }
-        width = (int) column.stream().filter(b -> b).count();
-        height = (int) row.stream().filter(b -> b).count();
+        this.width = (int) column.stream().filter(Boolean::booleanValue).count();
+        this.height = (int) row.stream().filter(Boolean::booleanValue).count();
     }
     
     public DefaultCustomDisplay(List<List<ItemStack>> input, List<ItemStack> output) {
@@ -49,17 +48,17 @@ public class DefaultCustomDisplay implements DefaultCraftingDisplay {
     
     @Override
     public List<List<ItemStack>> getInput() {
-        return Collections.unmodifiableList(input);
+        return input;
     }
     
     @Override
     public List<ItemStack> getOutput() {
-        return Collections.unmodifiableList(output);
+        return output;
     }
     
     @Override
     public List<List<ItemStack>> getRequiredItems() {
-        return Collections.unmodifiableList(input);
+        return input;
     }
     
     @Override

+ 2 - 2
src/main/java/me/shedaniel/rei/plugin/DefaultShapedDisplay.java

@@ -5,11 +5,11 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.Recipe;
 import net.minecraft.recipe.ShapedRecipe;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -23,7 +23,7 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay<ShapedRecipe
     
     public DefaultShapedDisplay(ShapedRecipe recipe) {
         this.display = recipe;
-        this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+        this.input = recipe.getPreviewInputs().stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
         this.output = Collections.singletonList(recipe.getOutput());
     }
     

+ 2 - 1
src/main/java/me/shedaniel/rei/plugin/DefaultShapelessDisplay.java

@@ -9,6 +9,7 @@ import com.google.common.collect.Lists;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.ShapelessRecipe;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -22,7 +23,7 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay {
     
     public DefaultShapelessDisplay(ShapelessRecipe recipe) {
         this.display = recipe;
-        this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
+        this.input = recipe.getPreviewInputs().stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
         this.output = Collections.singletonList(recipe.getOutput());
     }
     

+ 4 - 2
src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingCategory.java

@@ -10,9 +10,10 @@ import me.shedaniel.rei.api.RecipeCategory;
 import me.shedaniel.rei.api.Renderable;
 import me.shedaniel.rei.api.Renderer;
 import me.shedaniel.rei.gui.renderables.RecipeRenderer;
-import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
+import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.render.GuiLighting;
@@ -23,6 +24,7 @@ import net.minecraft.util.math.MathHelper;
 
 import java.awt.*;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.function.Supplier;
@@ -73,7 +75,7 @@ public class DefaultSmeltingCategory implements RecipeCategory<DefaultSmeltingDi
         widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplaySupplier.get().getFuel(), true, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.smelting.fuel"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));

+ 3 - 3
src/main/java/me/shedaniel/rei/plugin/DefaultSmeltingDisplay.java

@@ -5,7 +5,6 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import me.shedaniel.rei.api.RecipeDisplay;
 import net.minecraft.block.entity.FurnaceBlockEntity;
 import net.minecraft.item.Item;
@@ -13,6 +12,7 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.SmeltingRecipe;
 import net.minecraft.util.Identifier;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -26,8 +26,8 @@ public class DefaultSmeltingDisplay implements RecipeDisplay<SmeltingRecipe> {
     
     public DefaultSmeltingDisplay(SmeltingRecipe recipe) {
         this.display = recipe;
-        this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
-        input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+        this.input = recipe.getPreviewInputs().stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
+        this.input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
         this.output = Collections.singletonList(recipe.getOutput());
     }
     

+ 3 - 1
src/main/java/me/shedaniel/rei/plugin/DefaultSmokingCategory.java

@@ -13,6 +13,7 @@ import me.shedaniel.rei.gui.renderables.RecipeRenderer;
 import me.shedaniel.rei.gui.widget.RecipeBaseWidget;
 import me.shedaniel.rei.gui.widget.SlotWidget;
 import me.shedaniel.rei.gui.widget.Widget;
+import net.minecraft.ChatFormat;
 import net.minecraft.block.Blocks;
 import net.minecraft.client.MinecraftClient;
 import net.minecraft.client.render.GuiLighting;
@@ -23,6 +24,7 @@ import net.minecraft.util.math.MathHelper;
 
 import java.awt.*;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.function.Supplier;
@@ -73,7 +75,7 @@ public class DefaultSmokingCategory implements RecipeCategory<DefaultSmokingDisp
         widgets.add(new SlotWidget(startPoint.x + 1, startPoint.y + 37, recipeDisplaySupplier.get().getFuel(), true, true, true) {
             @Override
             protected List<String> getExtraToolTips(ItemStack stack) {
-                return Arrays.asList(I18n.translate("category.rei.smelting.fuel"));
+                return Collections.singletonList(ChatFormat.YELLOW.toString() + I18n.translate("category.rei.smelting.fuel"));
             }
         });
         widgets.add(new SlotWidget(startPoint.x + 61, startPoint.y + 19, recipeDisplaySupplier.get().getOutput(), false, true, true));

+ 3 - 3
src/main/java/me/shedaniel/rei/plugin/DefaultSmokingDisplay.java

@@ -5,7 +5,6 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import me.shedaniel.rei.api.RecipeDisplay;
 import net.minecraft.block.entity.FurnaceBlockEntity;
 import net.minecraft.item.Item;
@@ -13,6 +12,7 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.SmokingRecipe;
 import net.minecraft.util.Identifier;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -26,8 +26,8 @@ public class DefaultSmokingDisplay implements RecipeDisplay<SmokingRecipe> {
     
     public DefaultSmokingDisplay(SmokingRecipe recipe) {
         this.display = recipe;
-        this.input = Lists.newArrayList(recipe.getPreviewInputs().stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()));
-        input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
+        this.input = recipe.getPreviewInputs().stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
+        this.input.add(FurnaceBlockEntity.createFuelTimeMap().keySet().stream().map(Item::getDefaultStack).collect(Collectors.toList()));
         this.output = Collections.singletonList(recipe.getOutput());
     }
     

+ 5 - 5
src/main/java/me/shedaniel/rei/plugin/DefaultStoneCuttingDisplay.java

@@ -5,7 +5,6 @@
 
 package me.shedaniel.rei.plugin;
 
-import com.google.common.collect.Lists;
 import me.shedaniel.rei.api.RecipeDisplay;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.Ingredient;
@@ -13,6 +12,7 @@ import net.minecraft.recipe.StonecuttingRecipe;
 import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Identifier;
 
+import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 import java.util.Optional;
@@ -20,7 +20,8 @@ import java.util.stream.Collectors;
 
 public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRecipe> {
     
-    private List<ItemStack> inputs, output;
+    private List<List<ItemStack>> inputs;
+    private List<ItemStack> output;
     private StonecuttingRecipe display;
     
     public DefaultStoneCuttingDisplay(StonecuttingRecipe recipe) {
@@ -29,8 +30,7 @@ public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRec
     }
     
     public DefaultStoneCuttingDisplay(DefaultedList<Ingredient> ingredients, ItemStack output) {
-        this.inputs = Lists.newArrayList();
-        ingredients.stream().map(i -> Lists.newArrayList(i.getStackArray())).collect(Collectors.toList()).forEach(inputs::addAll);
+        this.inputs = ingredients.stream().map(i -> Arrays.asList(i.getStackArray())).collect(Collectors.toList());
         this.output = Collections.singletonList(output);
     }
     
@@ -41,7 +41,7 @@ public class DefaultStoneCuttingDisplay implements RecipeDisplay<StonecuttingRec
     
     @Override
     public List<List<ItemStack>> getInput() {
-        return Collections.singletonList(inputs);
+        return inputs;
     }
     
     @Override

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/bg_bg.json

@@ -7,16 +7,16 @@
   "text.rei.cheating": "Мамене",
   "category.rei.crafting": "Изработване",
   "category.rei.smelting": "Топене",
-  "category.rei.smelting.fuel": "§eГориво",
+  "category.rei.smelting.fuel": "Гориво",
   "category.rei.smoking": "Опушване",
   "category.rei.blasting": "Топене с доменна пещ",
   "category.rei.campfire": "Лагерен огън",
   "category.rei.campfire.time": "%d секунди",
   "category.rei.stone_cutting": "Рязане на камъни",
   "category.rei.brewing": "Варене на отвари",
-  "category.rei.brewing.input": "§eОригинална отвара",
-  "category.rei.brewing.reactant": "§eПродукт",
-  "category.rei.brewing.result": "§eРезултатна отвара",
+  "category.rei.brewing.input": "Оригинална отвара",
+  "category.rei.brewing.reactant": "Продукт",
+  "category.rei.brewing.result": "Резултатна отвара",
   "text.rei.config": "Конфигурация",
   "text.rei.config_tooltip": "Отвори екран за конфигуриране\n§7Shift-кликни за да превключиш мамене",
   "text.rei.config.side_search_box": "Странична търсачка: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/de_de.json

@@ -4,16 +4,16 @@
   "key.roughlyenoughitems.usage_keybind": "Zeige Verwendung",
   "category.rei.crafting": "Herstellen",
   "category.rei.smelting": "Schmelzen",
-  "category.rei.smelting.fuel": "§eBrennstoff",
+  "category.rei.smelting.fuel": "Brennstoff",
   "category.rei.smoking": "Räuchern",
   "category.rei.blasting": "Sprengen",
   "category.rei.campfire": "Lagerfeuer",
   "category.rei.campfire.time": "§8%d Sekunden",
   "category.rei.stone_cutting": "Stein schneiden",
   "category.rei.brewing": "Brauen",
-  "category.rei.brewing.input": "§eOriginal Trank",
-  "category.rei.brewing.reactant": "§Zutat",
-  "category.rei.brewing.result": "§eEntstehender Trank",
+  "category.rei.brewing.input": "Original Trank",
+  "category.rei.brewing.reactant": "Zutat",
+  "category.rei.brewing.result": "Entstehender Trank",
   "text.rei.config": "Einstellung",
   "text.rei.config.side_search_box": "Rechte Suchbox: ",
   "text.rei.cheat_items": "[{item_name}] x{item_count} {player_name} gegeben.",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/en_ud.json

@@ -7,16 +7,16 @@
   "text.rei.nocheat": "§c§mʇɐǝɥƆ",
   "category.rei.crafting": "ƃuᴉʇɟɐɹƆ",
   "category.rei.smelting": "ƃuᴉʇlǝɯS",
-  "category.rei.smelting.fuel": "§elǝnℲ",
+  "category.rei.smelting.fuel": "lǝnℲ",
   "category.rei.smoking": "ƃuᴉʞoɯS",
   "category.rei.blasting": "ƃuᴉʇsɐlq",
   "category.rei.campfire": "ǝɹᴉɟdɯɐƆ",
   "category.rei.campfire.time": "spuoɔǝS %d",
   "category.rei.stone_cutting": "ƃuᴉʇʇnƆ ǝuoʇS",
   "category.rei.brewing": "ƃuᴉʍǝɹq",
-  "category.rei.brewing.input": "§euoᴉʇoԀ lɐuᴉƃᴉɹO",
-  "category.rei.brewing.reactant": "§eʇuǝᴉpǝɹƃuI",
-  "category.rei.brewing.result": "§euoᴉʇoԀ pǝʇlnsǝɹ",
+  "category.rei.brewing.input": "uoᴉʇoԀ lɐuᴉƃᴉɹO",
+  "category.rei.brewing.reactant": "ʇuǝᴉpǝɹƃuI",
+  "category.rei.brewing.result": "uoᴉʇoԀ pǝʇlnsǝɹ",
   "text.rei.config": "ƃᴉɟuoƆ",
   "text.rei.config.side_search_box": "xoq ɥɔɹɐǝS ǝpᴉS: ",
   "text.rei.config.mirror_rei": "sʇǝƃpᴉM IƎɹ ɹoɹɹᴉW: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/en_us.json

@@ -16,16 +16,16 @@
   "text.rei.no_permission_cheat": "Operator permissions are required to cheat items",
   "category.rei.crafting": "Crafting",
   "category.rei.smelting": "Smelting",
-  "category.rei.smelting.fuel": "§eFuel",
+  "category.rei.smelting.fuel": "Fuel",
   "category.rei.smoking": "Smoking",
   "category.rei.blasting": "Blasting",
   "category.rei.campfire": "Campfire",
   "category.rei.campfire.time": "%d Seconds",
   "category.rei.stone_cutting": "Stone Cutting",
   "category.rei.brewing": "Brewing",
-  "category.rei.brewing.input": "§eOriginal Potion",
-  "category.rei.brewing.reactant": "§eIngredient",
-  "category.rei.brewing.result": "§eResulted Potion",
+  "category.rei.brewing.input": "Original Potion",
+  "category.rei.brewing.reactant": "Ingredient",
+  "category.rei.brewing.result": "Resulted Potion",
   "text.rei.config": "Config",
   "text.rei.config_tooltip": "Open Config Screen\n§7Shift-Click to toggle cheat mode",
   "text.rei.config.side_search_box": "Side Search Box: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/et_ee.json

@@ -16,16 +16,16 @@
   "text.rei.no_permission_cheat": "Esemete sohiga saamiseks on vajalikud operaatoriõigused",
   "category.rei.crafting": "Meisterdamine",
   "category.rei.smelting": "Sulatamine",
-  "category.rei.smelting.fuel": "§eKütus",
+  "category.rei.smelting.fuel": "Kütus",
   "category.rei.smoking": "Suitsutamine",
   "category.rei.blasting": "Kõrgsulatamine",
   "category.rei.campfire": "Lõkketuli",
   "category.rei.campfire.time": "%d sekundit",
   "category.rei.stone_cutting": "Kivi lõikamine",
   "category.rei.brewing": "Pruulimine",
-  "category.rei.brewing.input": "§eEsialgne võlujook",
-  "category.rei.brewing.reactant": "§eKoostisosa",
-  "category.rei.brewing.result": "§eValmiv võlujook",
+  "category.rei.brewing.input": "Esialgne võlujook",
+  "category.rei.brewing.reactant": "Koostisosa",
+  "category.rei.brewing.result": "Valmiv võlujook",
   "text.rei.config": "Seadistus",
   "text.rei.config_tooltip": "Ava seadistuskuva\n§7Shift-klõps sohitegemise lülitamiseks",  
   "text.rei.config.side_search_box": "Külgmine otsingukast: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/fr_fr.json

@@ -7,16 +7,16 @@
   "text.rei.nocheat": "§c§mTriche",
   "category.rei.crafting": "Fabrication",
   "category.rei.smelting": "Cuisson",
-  "category.rei.smelting.fuel": "§eCombustible",
+  "category.rei.smelting.fuel": "Combustible",
   "category.rei.smoking": "Fumage",
   "category.rei.blasting": "Fonte",
   "category.rei.campfire": "Feu de camp",
   "category.rei.campfire.time": "%d secondes",
   "category.rei.stone_cutting": "Tailleur de pierre",
   "category.rei.brewing": "Alchimie",
-  "category.rei.brewing.input": "§ePotion originale",
-  "category.rei.brewing.reactant": "§eIngrédient",
-  "category.rei.brewing.result": "§ePotion obtenue",
+  "category.rei.brewing.input": "Potion originale",
+  "category.rei.brewing.reactant": "Ingrédient",
+  "category.rei.brewing.result": "Potion obtenue",
   "text.rei.config": "Config",
   "text.rei.config.side_search_box": "Zone de recherche latérale : ",
   "text.rei.config.mirror_rei": "Refléter les widgets REI : ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/lol_us.json

@@ -7,16 +7,16 @@
   "text.rei.cheating": "HAX",
   "category.rei.crafting": "Krafting",
   "category.rei.smelting": "Smlezting",
-  "category.rei.smelting.fuel": "§eFuelz",
+  "category.rei.smelting.fuel": "Fuelz",
   "category.rei.smoking": "Soking",
   "category.rei.blasting": "Blazting",
   "category.rei.campfire": "Camfireh",
   "category.rei.campfire.time": "%d Secondz",
   "category.rei.stone_cutting": "Rock Kuting",
   "category.rei.brewing": "Brwing",
-  "category.rei.brewing.input": "§eOriginal Poshun",
-  "category.rei.brewing.reactant": "§eThng",
-  "category.rei.brewing.result": "§eResuted Poshun",
+  "category.rei.brewing.input": "Original Poshun",
+  "category.rei.brewing.reactant": "Thing",
+  "category.rei.brewing.result": "Resuted Poshun",
   "text.rei.config": "Konfig",
   "text.rei.config.side_search_box": "Sie Saerhc Boz: ",
   "text.rei.config.mirror_rei": "Miror REI Widgetz: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/pt_br.json

@@ -8,16 +8,16 @@
   "text.rei.cheating": "Trapaça",
   "category.rei.crafting": "Criação",
   "category.rei.smelting": "Fundição",
-  "category.rei.smelting.fuel": "§eCombustível",
+  "category.rei.smelting.fuel": "Combustível",
   "category.rei.smoking": "Defumação",
   "category.rei.blasting": "Alto-forno",
   "category.rei.campfire": "Fogueira",
   "category.rei.campfire.time": "%d segundos",
   "category.rei.stone_cutting": "Cortador de Pedras",
   "category.rei.brewing": "Fermentação",
-  "category.rei.brewing.input": "§ePoção Original",
-  "category.rei.brewing.reactant": "§eIngredientes",
-  "category.rei.brewing.result": "§ePoção Resultante",
+  "category.rei.brewing.input": "Poção Original",
+  "category.rei.brewing.reactant": "Ingredientes",
+  "category.rei.brewing.result": "Poção Resultante",
   "text.rei.config": "Configuração",
   "text.rei.config_tooltip": "Abrir tela de configuração\n§7Shift-Click para alternar o modo trapaça",
   "text.rei.config.side_search_box": "Caixa de pesquisa lateral: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/zh_cn.json

@@ -14,16 +14,16 @@
   "text.rei.no_permission_cheat": "作弊给予物品需要OP权限",
   "category.rei.crafting": "合成",
   "category.rei.smelting": "冶炼",
-  "category.rei.smelting.fuel": "§e燃料",
+  "category.rei.smelting.fuel": "燃料",
   "category.rei.smoking": "烟熏",
   "category.rei.blasting": "熔炼",
   "category.rei.campfire": "营火",
   "category.rei.campfire.time": "%d 秒",
   "category.rei.stone_cutting": "切石",
   "category.rei.brewing": "酿造",
-  "category.rei.brewing.input": "§e输入药水",
-  "category.rei.brewing.reactant": "§e材料",
-  "category.rei.brewing.result": "§e输出药水",
+  "category.rei.brewing.input": "输入药水",
+  "category.rei.brewing.reactant": "材料",
+  "category.rei.brewing.result": "输出药水",
   "text.rei.config": "设置",
   "text.rei.config_tooltip": "打开设置\n§7按住Shift键单击以切换作弊模式",
   "text.rei.config.side_search_box": "侧搜索框: ",

+ 4 - 4
src/main/resources/assets/roughlyenoughitems/lang/zh_tw.json

@@ -14,16 +14,16 @@
   "text.rei.no_permission_cheat": "作弊給予物品需要OP權限",
   "category.rei.crafting": "合成",
   "category.rei.smelting": "冶煉",
-  "category.rei.smelting.fuel": "§e燃料",
+  "category.rei.smelting.fuel": "燃料",
   "category.rei.smoking": "煙燻",
   "category.rei.blasting": "熔煉",
   "category.rei.campfire": "營火",
   "category.rei.campfire.time": "%d 秒",
   "category.rei.stone_cutting": "切石",
   "category.rei.brewing": "釀造",
-  "category.rei.brewing.input": "§e輸入藥水",
-  "category.rei.brewing.reactant": "§e材料",
-  "category.rei.brewing.result": "§e輸出藥水",
+  "category.rei.brewing.input": "輸入藥水",
+  "category.rei.brewing.reactant": "材料",
+  "category.rei.brewing.result": "輸出藥水",
   "text.rei.config": "設置",
   "text.rei.config_tooltip": "打開設置\n§7按住Shift鍵單擊以切換作弊模式",
   "text.rei.config.side_search_box": "不置中搜索欄:",

+ 2 - 2
src/main/resources/fabric.mod.json

@@ -2,7 +2,7 @@
   "schemaVersion": 1,
   "id": "roughlyenoughitems",
   "name": "Roughly Enough Items",
-  "description": "To allow players to view items and recipes. Version: ${version}",
+  "description": "To allow players to view items and recipes.",
   "version": "${version}",
   "authors": [
     "Danielshe"
@@ -13,7 +13,7 @@
     "issues": "https://github.com/shedaniel/RoughlyEnoughItems/issues"
   },
   "license": "MIT",
-  "icon": "pack.png",
+  "icon": "icon.png",
   "entrypoints": {
     "client": [
       "me.shedaniel.rei.RoughlyEnoughItemsCore",

+ 0 - 0
src/main/resources/pack.png → src/main/resources/icon.png


+ 0 - 6
src/main/resources/pack.mcmeta

@@ -1,6 +0,0 @@
-{
-  "pack": {
-    "pack_format": 4,
-    "description": "Roughly Enough Items"
-  }
-}