Browse Source

20w12a

Signed-off-by: shedaniel <daniel@shedaniel.me>
shedaniel 5 years ago
parent
commit
7f143a3d0a
28 changed files with 76 additions and 84 deletions
  1. 5 5
      gradle.properties
  2. 1 2
      src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
  3. 2 2
      src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
  4. 1 1
      src/main/java/me/shedaniel/rei/gui/PreRecipeViewingScreen.java
  5. 1 1
      src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
  6. 1 1
      src/main/java/me/shedaniel/rei/gui/entries/SimpleRecipeEntry.java
  7. 1 1
      src/main/java/me/shedaniel/rei/gui/toast/CopyRecipeIdentifierToast.java
  8. 10 10
      src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java
  9. 1 1
      src/main/java/me/shedaniel/rei/gui/widget/EntryWidget.java
  10. 8 8
      src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java
  11. 2 2
      src/main/java/me/shedaniel/rei/gui/widget/RecipeArrowWidget.java
  12. 1 1
      src/main/java/me/shedaniel/rei/gui/widget/TabWidget.java
  13. 1 1
      src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java
  14. 4 7
      src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java
  15. 2 2
      src/main/java/me/shedaniel/rei/impl/EntryRegistryImpl.java
  16. 2 2
      src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java
  17. 2 2
      src/main/java/me/shedaniel/rei/impl/widgets/BurningFireWidget.java
  18. 10 10
      src/main/java/me/shedaniel/rei/impl/widgets/ButtonWidget.java
  19. 8 8
      src/main/java/me/shedaniel/rei/impl/widgets/PanelWidget.java
  20. 1 1
      src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
  21. 2 3
      src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java
  22. 2 2
      src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
  23. 1 2
      src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java
  24. 1 2
      src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java
  25. 1 2
      src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java
  26. 1 1
      src/main/java/me/shedaniel/rei/server/RecipeFinder.java
  27. 1 1
      src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java
  28. 3 3
      src/main/resources/fabric.mod.json

+ 5 - 5
gradle.properties

@@ -1,11 +1,11 @@
-mod_version=4.0.14-unstable
-minecraft_version=20w11a
-yarn_version=20w11a+build.6
+mod_version=4.1.0-unstable
+minecraft_version=20w12a
+yarn_version=20w12a+build.3
 fabricloader_version=0.7.8+build.187
 cloth_events_version=2.0.0-unstable.202003051905
-cloth_config_version=3.0.2-unstable.202003090708
+cloth_config_version=3.1.0-unstable
 modmenu_version=1.10.2+build.1
-fabric_api=0.5.3+build.308-1.16
+fabric_api=0.5.4+build.310-1.16
 autoconfig1u=1.2.4
 api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations
 api_exculde=

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

@@ -31,6 +31,7 @@ import net.fabricmc.api.ModInitializer;
 import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
 import net.fabricmc.loader.api.FabricLoader;
 import net.minecraft.item.ItemStack;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.screen.AbstractRecipeScreenHandler;
 import net.minecraft.screen.PlayerScreenHandler;
 import net.minecraft.screen.ScreenHandler;
@@ -38,8 +39,6 @@ import net.minecraft.server.network.ServerPlayerEntity;
 import net.minecraft.text.TranslatableText;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.Identifier;
-import net.minecraft.util.PacketByteBuf;
-
 import java.util.Comparator;
 import java.util.List;
 import java.util.Map;

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

@@ -206,7 +206,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
                 Widgets.createDrawableWidget((helper, mouseX, mouseY, delta) -> {
                     helper.setZOffset(helper.getZOffset() + 1);
                     MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
-                    helper.blit(configButtonArea.x + 3, configButtonArea.y + 3, 0, 0, 14, 14);
+                    helper.drawTexture(configButtonArea.x + 3, configButtonArea.y + 3, 0, 0, 14, 14);
                 })
                 )
         )));
@@ -238,7 +238,7 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
                 widgets.add(Widgets.createDrawableWidget((helper, mouseX, mouseY, delta) -> {
                     MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
                     RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
-                    helper.blit(weatherButton.getBounds().x + 3, weatherButton.getBounds().y + 3, weather.getId() * 14, 14, 14, 14);
+                    helper.drawTexture(weatherButton.getBounds().x + 3, weatherButton.getBounds().y + 3, weather.getId() * 14, 14, 14, 14);
                 }));
                 xxx += ConfigObject.getInstance().isLeftHandSidePanel() ? -25 : 25;
             }

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

@@ -189,7 +189,7 @@ public class PreRecipeViewingScreen extends Screen {
         @Override
         public void render(int i, int i1, float delta) {
             MinecraftClient.getInstance().getTextureManager().bindTexture(IDENTIFIER);
-            blit(bounds.x + 4, bounds.y + 4, u, v, 200, 112);
+            drawTexture(bounds.x + 4, bounds.y + 4, u, v, 200, 112);
         }
         
         @Override

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

@@ -37,7 +37,7 @@ public class CreditsEntryListWidget extends DynamicNewSmoothScrollingEntryListWi
     private boolean inFocus;
     
     public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY) {
-        super(client, width, height, startY, endY, DrawableHelper.BACKGROUND_LOCATION);
+        super(client, width, height, startY, endY, DrawableHelper.BACKGROUND_TEXTURE);
     }
     
     @Override

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/entries/SimpleRecipeEntry.java

@@ -114,7 +114,7 @@ public class SimpleRecipeEntry extends RecipeEntry {
         xx = bounds.x + 4 + 18 * (getItemsPerLine() - 2);
         yy = bounds.y + getHeight() / 2 - 8;
         MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
-        blit(xx, yy, 0, 28, 18, 18);
+        drawTexture(xx, yy, 0, 28, 18, 18);
         xx += 18;
         outputWidget.setZ(getZ() + 50);
         outputWidget.getBounds().setLocation(xx, yy);

+ 1 - 1
src/main/java/me/shedaniel/rei/gui/toast/CopyRecipeIdentifierToast.java

@@ -52,7 +52,7 @@ public class CopyRecipeIdentifierToast implements Toast {
     public Visibility draw(ToastManager toastManager, long var2) {
         toastManager.getGame().getTextureManager().bindTexture(TOASTS_TEX);
         RenderSystem.color3f(1.0F, 1.0F, 1.0F);
-        toastManager.blit(0, 0, 0, 0, 160, 32);
+        toastManager.drawTexture(0, 0, 0, 0, 160, 32);
         if (this.subtitle == null) {
             toastManager.getGame().textRenderer.draw(this.title, 18.0F, 12.0F, 11141120);
         } else {

+ 10 - 10
src/main/java/me/shedaniel/rei/gui/widget/ButtonWidget.java

@@ -132,19 +132,19 @@ public abstract class ButtonWidget extends WidgetWithBounds {
         RenderSystem.blendFuncSeparate(770, 771, 1, 0);
         RenderSystem.blendFunc(770, 771);
         //Four Corners
-        blit(x, y, getZOffset(), 0, textureOffset * 80, 4, 4, 512, 256);
-        blit(x + width - 4, y, getZOffset(), 252, textureOffset * 80, 4, 4, 512, 256);
-        blit(x, y + height - 4, getZOffset(), 0, textureOffset * 80 + 76, 4, 4, 512, 256);
-        blit(x + width - 4, y + height - 4, getZOffset(), 252, textureOffset * 80 + 76, 4, 4, 512, 256);
+        drawTexture(x, y, getZOffset(), 0, textureOffset * 80, 4, 4, 512, 256);
+        drawTexture(x + width - 4, y, getZOffset(), 252, textureOffset * 80, 4, 4, 512, 256);
+        drawTexture(x, y + height - 4, getZOffset(), 0, textureOffset * 80 + 76, 4, 4, 512, 256);
+        drawTexture(x + width - 4, y + height - 4, getZOffset(), 252, textureOffset * 80 + 76, 4, 4, 512, 256);
         
         //Sides
-        blit(x + 4, y, getZOffset(), 4, textureOffset * 80, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4, y + height - 4, getZOffset(), 4, textureOffset * 80 + 76, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y + height - 4, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80 + 76, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4, y, getZOffset(), 4, textureOffset * 80, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4, y + height - 4, getZOffset(), 4, textureOffset * 80 + 76, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4 + MathHelper.ceil((width - 8) / 2f), y + height - 4, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80 + 76, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4 + MathHelper.ceil((width - 8) / 2f), y, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
         for (int i = y + 4; i < y + height - 4; i += 76) {
-            blit(x, i, getZOffset(), 0, 4 + textureOffset * 80, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
-            blit(x + MathHelper.ceil(width / 2f), i, getZOffset(), 256 - MathHelper.floor(width / 2f), 4 + textureOffset * 80, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
+            drawTexture(x, i, getZOffset(), 0, 4 + textureOffset * 80, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
+            drawTexture(x + MathHelper.ceil(width / 2f), i, getZOffset(), 256 - MathHelper.floor(width / 2f), 4 + textureOffset * 80, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
         }
     }
     

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

@@ -295,7 +295,7 @@ public class EntryWidget extends Slot {
     protected void drawBackground(int mouseX, int mouseY, float delta) {
         if (background) {
             minecraft.getTextureManager().bindTexture(REIHelper.getInstance().isDarkThemeEnabled() ? RECIPE_GUI_DARK : RECIPE_GUI);
-            blit(bounds.x, bounds.y, 0, 222, bounds.width, bounds.height);
+            drawTexture(bounds.x, bounds.y, 0, 222, bounds.width, bounds.height);
         }
     }
     

+ 8 - 8
src/main/java/me/shedaniel/rei/gui/widget/PanelWidget.java

@@ -101,21 +101,21 @@ public class PanelWidget extends WidgetWithBounds {
         int yTextureOffset = getYTextureOffset();
         
         //Four Corners
-        this.blit(x, y, 106 + xTextureOffset, 124 + yTextureOffset, 4, 4);
-        this.blit(x + width - 4, y, 252 + xTextureOffset, 124 + yTextureOffset, 4, 4);
-        this.blit(x, y + height - 4, 106 + xTextureOffset, 186 + yTextureOffset, 4, 4);
-        this.blit(x + width - 4, y + height - 4, 252 + xTextureOffset, 186 + yTextureOffset, 4, 4);
+        this.drawTexture(x, y, 106 + xTextureOffset, 124 + yTextureOffset, 4, 4);
+        this.drawTexture(x + width - 4, y, 252 + xTextureOffset, 124 + yTextureOffset, 4, 4);
+        this.drawTexture(x, y + height - 4, 106 + xTextureOffset, 186 + yTextureOffset, 4, 4);
+        this.drawTexture(x + width - 4, y + height - 4, 252 + xTextureOffset, 186 + yTextureOffset, 4, 4);
         
         //Sides
         for (int xx = 4; xx < width - 4; xx += 128) {
             int thisWidth = Math.min(128, width - 4 - xx);
-            this.blit(x + xx, y, 110 + xTextureOffset, 124 + yTextureOffset, thisWidth, 4);
-            this.blit(x + xx, y + height - 4, 110 + xTextureOffset, 186 + yTextureOffset, thisWidth, 4);
+            this.drawTexture(x + xx, y, 110 + xTextureOffset, 124 + yTextureOffset, thisWidth, 4);
+            this.drawTexture(x + xx, y + height - 4, 110 + xTextureOffset, 186 + yTextureOffset, thisWidth, 4);
         }
         for (int yy = 4; yy < height - 4; yy += 50) {
             int thisHeight = Math.min(50, height - 4 - yy);
-            this.blit(x, y + yy, 106 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
-            this.blit(x + width - 4, y + yy, 252 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
+            this.drawTexture(x, y + yy, 106 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
+            this.drawTexture(x + width - 4, y + yy, 252 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
         }
         fillGradient(x + 4, y + 4, x + width - 4, y + height - 4, getInnerColor(), getInnerColor());
     }

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

@@ -71,10 +71,10 @@ public class RecipeArrowWidget extends WidgetWithBounds {
     @Override
     public void render(int mouseX, int mouseY, float delta) {
         MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
-        blit(x, y, 106, 91, 24, 17);
+        drawTexture(x, y, 106, 91, 24, 17);
         if (animated) {
             int width = MathHelper.ceil((System.currentTimeMillis() / (time / 24) % 24d) / 1f);
-            blit(x, y, 82, 91, width, 17);
+            drawTexture(x, y, 82, 91, width, 17);
         }
     }
     

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

@@ -107,7 +107,7 @@ public class TabWidget extends WidgetWithBounds {
     public void render(int mouseX, int mouseY, float delta) {
         if (shown) {
             minecraft.getTextureManager().bindTexture(REIHelper.getInstance().isDarkThemeEnabled() ? CHEST_GUI_TEXTURE_DARK : CHEST_GUI_TEXTURE);
-            this.blit(bounds.x, bounds.y + 2, u + (selected ? bounds.width : 0), v, bounds.width, (selected ? bounds.height + 2 : bounds.height - 1));
+            this.drawTexture(bounds.x, bounds.y + 2, u + (selected ? bounds.width : 0), v, bounds.width, (selected ? bounds.height + 2 : bounds.height - 1));
             logo.setZ(100);
             logo.render(new Rectangle(bounds.getCenterX() - 8, bounds.getCenterY() - 5, 16, 16), mouseX, mouseY, delta);
             if (containsMouse(mouseX, mouseY)) {

+ 1 - 1
src/main/java/me/shedaniel/rei/impl/ClientHelperImpl.java

@@ -49,11 +49,11 @@ import net.minecraft.client.gui.screen.ingame.CreativeInventoryScreen;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.item.Items;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.text.TranslatableText;
 import net.minecraft.util.Formatting;
 import net.minecraft.util.Identifier;
 import net.minecraft.util.Lazy;
-import net.minecraft.util.PacketByteBuf;
 import net.minecraft.util.registry.Registry;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.Nullable;

+ 4 - 7
src/main/java/me/shedaniel/rei/impl/ConfigObjectImpl.java

@@ -32,6 +32,10 @@ import me.shedaniel.clothconfig2.api.ModifierKeyCode;
 import me.shedaniel.rei.api.ConfigObject;
 import me.shedaniel.rei.api.EntryStack;
 import me.shedaniel.rei.gui.config.*;
+import me.shedaniel.rei.impl.ConfigObjectImpl.DontApplyFieldName;
+import me.shedaniel.rei.impl.ConfigObjectImpl.UseEnumSelectorInstead;
+import me.shedaniel.rei.impl.ConfigObjectImpl.UseFilteringScreen;
+import me.shedaniel.rei.impl.ConfigObjectImpl.UseSpecialRecipeTypeScreen;
 import net.minecraft.client.util.InputUtil;
 import org.jetbrains.annotations.ApiStatus;
 
@@ -178,13 +182,6 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
         return appearance.clickableRecipeArrows;
     }
     
-    @Override
-    @ApiStatus.ScheduledForRemoval
-    @Deprecated
-    public boolean isUsingLightGrayRecipeBorder() {
-        return appearance.recipeBorder == RecipeBorderType.LIGHTER;
-    }
-    
     @Override
     public RecipeBorderType getRecipeBorderType() {
         return appearance.recipeBorder;

+ 2 - 2
src/main/java/me/shedaniel/rei/impl/EntryRegistryImpl.java

@@ -33,8 +33,8 @@ import me.shedaniel.rei.api.EntryStack;
 import me.shedaniel.rei.api.RecipeHelper;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
-import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Pair;
+import net.minecraft.util.collection.DefaultedList;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.Nullable;
 
@@ -126,7 +126,7 @@ public class EntryRegistryImpl implements EntryRegistry {
     public ItemStack[] getAllStacksFromItem(Item item) {
         List<ItemStack> list = appendStacksForItem(item);
         ItemStack[] array = list.toArray(new ItemStack[0]);
-        Arrays.sort(array, (a, b) -> ItemStack.areEqualIgnoreDamage(a, b) ? 0 : 1);
+        Arrays.sort(array, (a, b) -> ItemStack.areEqual(a, b) ? 0 : 1);
         return array;
     }
     

+ 2 - 2
src/main/java/me/shedaniel/rei/impl/widgets/ArrowWidget.java

@@ -65,10 +65,10 @@ public final class ArrowWidget extends Arrow {
     @Override
     public void render(int mouseX, int mouseY, float delta) {
         MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
-        blit(getX(), getY(), 106, 91, 24, 17);
+        drawTexture(getX(), getY(), 106, 91, 24, 17);
         if (getAnimationDuration() > 0) {
             int width = MathHelper.ceil((System.currentTimeMillis() / (animationDuration / 24) % 24d) / 1f);
-            blit(getX(), getY(), 82, 91, width, 17);
+            drawTexture(getX(), getY(), 82, 91, width, 17);
         }
     }
     

+ 2 - 2
src/main/java/me/shedaniel/rei/impl/widgets/BurningFireWidget.java

@@ -65,10 +65,10 @@ public final class BurningFireWidget extends BurningFire {
     @Override
     public void render(int mouseX, int mouseY, float delta) {
         MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
-        blit(getX(), getY(), 1, 74, 14, 14);
+        drawTexture(getX(), getY(), 1, 74, 14, 14);
         if (getAnimationDuration() > 0) {
             int height = 14 - MathHelper.ceil((System.currentTimeMillis() / (animationDuration / 14) % 14d) / 1f);
-            blit(getX(), getY() + 14 - height, 82, 77 + (14 - height), 14, height);
+            drawTexture(getX(), getY() + 14 - height, 82, 77 + (14 - height), 14, height);
         }
     }
     

+ 10 - 10
src/main/java/me/shedaniel/rei/impl/widgets/ButtonWidget.java

@@ -289,19 +289,19 @@ public class ButtonWidget extends Button {
         RenderSystem.blendFuncSeparate(770, 771, 1, 0);
         RenderSystem.blendFunc(770, 771);
         //Four Corners
-        blit(x, y, getZOffset(), 0, textureOffset * 80, 4, 4, 512, 256);
-        blit(x + width - 4, y, getZOffset(), 252, textureOffset * 80, 4, 4, 512, 256);
-        blit(x, y + height - 4, getZOffset(), 0, textureOffset * 80 + 76, 4, 4, 512, 256);
-        blit(x + width - 4, y + height - 4, getZOffset(), 252, textureOffset * 80 + 76, 4, 4, 512, 256);
+        drawTexture(x, y, getZOffset(), 0, textureOffset * 80, 4, 4, 512, 256);
+        drawTexture(x + width - 4, y, getZOffset(), 252, textureOffset * 80, 4, 4, 512, 256);
+        drawTexture(x, y + height - 4, getZOffset(), 0, textureOffset * 80 + 76, 4, 4, 512, 256);
+        drawTexture(x + width - 4, y + height - 4, getZOffset(), 252, textureOffset * 80 + 76, 4, 4, 512, 256);
         
         //Sides
-        blit(x + 4, y, getZOffset(), 4, textureOffset * 80, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4, y + height - 4, getZOffset(), 4, textureOffset * 80 + 76, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y + height - 4, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80 + 76, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
-        blit(x + 4 + MathHelper.ceil((width - 8) / 2f), y, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4, y, getZOffset(), 4, textureOffset * 80, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4, y + height - 4, getZOffset(), 4, textureOffset * 80 + 76, MathHelper.ceil((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4 + MathHelper.ceil((width - 8) / 2f), y + height - 4, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80 + 76, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
+        drawTexture(x + 4 + MathHelper.ceil((width - 8) / 2f), y, getZOffset(), 252 - MathHelper.floor((width - 8) / 2f), textureOffset * 80, MathHelper.floor((width - 8) / 2f), 4, 512, 256);
         for (int i = y + 4; i < y + height - 4; i += 76) {
-            blit(x, i, getZOffset(), 0, 4 + textureOffset * 80, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
-            blit(x + MathHelper.ceil(width / 2f), i, getZOffset(), 256 - MathHelper.floor(width / 2f), 4 + textureOffset * 80, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
+            drawTexture(x, i, getZOffset(), 0, 4 + textureOffset * 80, MathHelper.ceil(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
+            drawTexture(x + MathHelper.ceil(width / 2f), i, getZOffset(), 256 - MathHelper.floor(width / 2f), 4 + textureOffset * 80, MathHelper.floor(width / 2f), MathHelper.clamp(y + height - 4 - i, 0, 76), 512, 256);
         }
     }
 }

+ 8 - 8
src/main/java/me/shedaniel/rei/impl/widgets/PanelWidget.java

@@ -137,21 +137,21 @@ public final class PanelWidget extends Panel {
         int yTextureOffset = getYTextureOffset();
         
         //Four Corners
-        this.blit(x, y, 106 + xTextureOffset, 124 + yTextureOffset, 4, 4);
-        this.blit(x + width - 4, y, 252 + xTextureOffset, 124 + yTextureOffset, 4, 4);
-        this.blit(x, y + height - 4, 106 + xTextureOffset, 186 + yTextureOffset, 4, 4);
-        this.blit(x + width - 4, y + height - 4, 252 + xTextureOffset, 186 + yTextureOffset, 4, 4);
+        this.drawTexture(x, y, 106 + xTextureOffset, 124 + yTextureOffset, 4, 4);
+        this.drawTexture(x + width - 4, y, 252 + xTextureOffset, 124 + yTextureOffset, 4, 4);
+        this.drawTexture(x, y + height - 4, 106 + xTextureOffset, 186 + yTextureOffset, 4, 4);
+        this.drawTexture(x + width - 4, y + height - 4, 252 + xTextureOffset, 186 + yTextureOffset, 4, 4);
         
         //Sides
         for (int xx = 4; xx < width - 4; xx += 128) {
             int thisWidth = Math.min(128, width - 4 - xx);
-            this.blit(x + xx, y, 110 + xTextureOffset, 124 + yTextureOffset, thisWidth, 4);
-            this.blit(x + xx, y + height - 4, 110 + xTextureOffset, 186 + yTextureOffset, thisWidth, 4);
+            this.drawTexture(x + xx, y, 110 + xTextureOffset, 124 + yTextureOffset, thisWidth, 4);
+            this.drawTexture(x + xx, y + height - 4, 110 + xTextureOffset, 186 + yTextureOffset, thisWidth, 4);
         }
         for (int yy = 4; yy < height - 4; yy += 50) {
             int thisHeight = Math.min(50, height - 4 - yy);
-            this.blit(x, y + yy, 106 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
-            this.blit(x + width - 4, y + yy, 252 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
+            this.drawTexture(x, y + yy, 106 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
+            this.drawTexture(x + width - 4, y + yy, 252 + xTextureOffset, 128 + yTextureOffset, 4, thisHeight);
         }
         fillGradient(x + 4, y + 4, x + width - 4, y + height - 4, getInnerColor(), getInnerColor());
     }

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

@@ -166,7 +166,7 @@ public class DefaultPlugin implements REIPluginV0 {
             @Override
             public void render(Rectangle bounds, int mouseX, int mouseY, float delta) {
                 MinecraftClient.getInstance().getTextureManager().bindTexture(id);
-                innerBlit(bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getZOffset(), 0, 1, 0, 1);
+                drawTexturedQuad(bounds.x, bounds.getMaxX(), bounds.y, bounds.getMaxY(), getZOffset(), 0, 1, 0, 1);
             }
             
             @Override

+ 2 - 3
src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultCategoryHandler.java

@@ -40,10 +40,9 @@ import net.minecraft.client.gui.screen.ingame.HandledScreen;
 import net.minecraft.client.gui.screen.recipebook.RecipeBookProvider;
 import net.minecraft.client.resource.language.I18n;
 import net.minecraft.item.ItemStack;
+import net.minecraft.network.PacketByteBuf;
 import net.minecraft.screen.ScreenHandler;
-import net.minecraft.util.DefaultedList;
-import net.minecraft.util.PacketByteBuf;
-
+import net.minecraft.util.collection.DefaultedList;
 import java.util.List;
 
 public class DefaultCategoryHandler implements AutoTransferHandler {

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

@@ -64,9 +64,9 @@ public class DefaultBrewingCategory implements RecipeCategory<DefaultBrewingDisp
         widgets.add(Widgets.createRecipeBase(bounds));
         widgets.add(Widgets.createDrawableWidget((helper, mouseX, mouseY, delta) -> {
             MinecraftClient.getInstance().getTextureManager().bindTexture(DefaultPlugin.getDisplayTexture());
-            helper.blit(startPoint.x, startPoint.y, 0, 108, 103, 59);
+            helper.drawTexture(startPoint.x, startPoint.y, 0, 108, 103, 59);
             int width = MathHelper.ceil(System.currentTimeMillis() / 250d % 18d);
-            helper.blit(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4);
+            helper.drawTexture(startPoint.x + 44, startPoint.y + 28, 103, 163, width, 4);
         }));
         widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entry(EntryStack.create(Items.BLAZE_POWDER)).disableBackground().markInput());
         widgets.add(Widgets.createSlot(new Point(startPoint.x + 40, startPoint.y + 1)).entries(display.getInputEntries().get(0)).disableBackground().markInput());

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

@@ -30,9 +30,8 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.AbstractCookingRecipe;
 import net.minecraft.recipe.CampfireCookingRecipe;
 import net.minecraft.recipe.Ingredient;
-import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Identifier;
-
+import net.minecraft.util.collection.DefaultedList;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;

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

@@ -30,9 +30,8 @@ import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.CuttingRecipe;
 import net.minecraft.recipe.Ingredient;
 import net.minecraft.recipe.StonecuttingRecipe;
-import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Identifier;
-
+import net.minecraft.util.collection.DefaultedList;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;

+ 1 - 2
src/main/java/me/shedaniel/rei/server/InputSlotCrafter.java

@@ -34,9 +34,8 @@ import net.minecraft.recipe.Ingredient;
 import net.minecraft.screen.ScreenHandler;
 import net.minecraft.screen.slot.Slot;
 import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.util.DefaultedList;
 import net.minecraft.util.Identifier;
-
+import net.minecraft.util.collection.DefaultedList;
 import java.util.*;
 
 public class InputSlotCrafter<C extends Inventory> implements RecipeGridAligner<Integer> {

+ 1 - 1
src/main/java/me/shedaniel/rei/server/RecipeFinder.java

@@ -28,7 +28,7 @@ import it.unimi.dsi.fastutil.ints.*;
 import net.minecraft.item.Item;
 import net.minecraft.item.ItemStack;
 import net.minecraft.recipe.Ingredient;
-import net.minecraft.util.DefaultedList;
+import net.minecraft.util.collection.DefaultedList;
 import net.minecraft.util.registry.Registry;
 import org.jetbrains.annotations.ApiStatus;
 import org.jetbrains.annotations.Nullable;

+ 1 - 1
src/main/java/me/shedaniel/rei/server/RecipeGridAligner.java

@@ -24,7 +24,7 @@
 package me.shedaniel.rei.server;
 
 import net.minecraft.recipe.Ingredient;
-import net.minecraft.util.DefaultedList;
+import net.minecraft.util.collection.DefaultedList;
 import net.minecraft.util.math.MathHelper;
 import org.jetbrains.annotations.ApiStatus;
 

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

@@ -36,10 +36,10 @@
   },
   "depends": {
     "fabricloader": "*",
-    "cloth": "~2-",
+    "cloth": ">=2-",
     "cloth-basic-math": "*",
-    "cloth-config2": "~3-",
-    "minecraft": "~1.16-Snapshot.20.11.a"
+    "cloth-config2": ">=3-",
+    "minecraft": "~1.16-Snapshot.20.12.a"
   },
   "mixins": [
     "mixin.roughlyenoughitems.json",