aboutsummaryrefslogtreecommitdiff
path: root/runtime/src/main/java/me
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/src/main/java/me')
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java22
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java27
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java1
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java29
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java22
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java12
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java30
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/GameModeMenuEntry.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/modules/entries/SubSubsetsMenuEntry.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/CompositeDisplayViewingScreen.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/DefaultDisplayViewingScreen.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/SearchFilterSyntaxHighlightingScreen.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/TransformingScreen.java24
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/screen/UncertainDisplayViewingScreen.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/toast/CopyRecipeIdentifierToast.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/toast/ExportRecipeIdentifierToast.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/DynamicErrorFreeEntryListWidget.java82
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListEntryWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryListWidget.java6
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/EntryWidget.java2
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/TabWidget.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ArrowWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/BurningFireWidget.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/ButtonWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/FillRectangleDrawableConsumer.java19
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/PanelWidget.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TextFieldWidget.java13
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/client/gui/widget/basewidgets/TexturedDrawableConsumer.java7
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/compat/LBASupportPlugin.java4
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/impl/common/transfer/InputSlotCrafter.java3
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/DefaultClientRuntimePlugin.java15
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/FluidEntryDefinition.java18
-rw-r--r--runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java88
35 files changed, 254 insertions, 231 deletions
diff --git a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index 82389bafe..21042c30e 100644
--- a/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/runtime/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -25,6 +25,7 @@ package me.shedaniel.rei;
import io.netty.buffer.Unpooled;
import me.shedaniel.architectury.networking.NetworkManager;
+import me.shedaniel.rei.api.client.REIHelper;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.Display;
import me.shedaniel.rei.impl.common.transfer.InputSlotCrafter;
@@ -57,9 +58,10 @@ public class RoughlyEnoughItemsNetwork {
player.displayClientMessage(new TranslatableComponent("text.rei.no_permission_cheat").withStyle(ChatFormatting.RED), false);
return;
}
- if (!player.inventory.getCarried().isEmpty()) {
- player.inventory.setCarried(ItemStack.EMPTY);
- player.broadcastCarriedItem();
+ AbstractContainerMenu menu = player.containerMenu;
+ if (!menu.getCarried().isEmpty()) {
+ menu.setCarried(ItemStack.EMPTY);
+ menu.broadcastChanges();
}
});
NetworkManager.registerReceiver(NetworkManager.c2s(), CREATE_ITEMS_PACKET, (buf, context) -> {
@@ -69,7 +71,7 @@ public class RoughlyEnoughItemsNetwork {
return;
}
ItemStack stack = buf.readItem();
- if (player.inventory.add(stack.copy())) {
+ if (player.getInventory().add(stack.copy())) {
NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new FriendlyByteBuf(Unpooled.buffer()).writeItem(stack.copy()).writeUtf(player.getScoreboardName(), 32767));
} else {
player.displayClientMessage(new TranslatableComponent("text.rei.failed_cheat_items"), false);
@@ -82,16 +84,16 @@ public class RoughlyEnoughItemsNetwork {
return;
}
- Inventory inventory = player.inventory;
+ AbstractContainerMenu menu = player.containerMenu;
ItemStack itemStack = buf.readItem();
ItemStack stack = itemStack.copy();
- if (!inventory.getCarried().isEmpty() && ItemStack.isSameIgnoreDurability(inventory.getCarried(), stack) && ItemStack.tagMatches(inventory.getCarried(), stack)) {
- stack.setCount(Mth.clamp(stack.getCount() + inventory.getCarried().getCount(), 1, stack.getMaxStackSize()));
- } else if (!inventory.getCarried().isEmpty()) {
+ if (!menu.getCarried().isEmpty() && ItemStack.isSameIgnoreDurability(menu.getCarried(), stack) && ItemStack.tagMatches(menu.getCarried(), stack)) {
+ stack.setCount(Mth.clamp(stack.getCount() + menu.getCarried().getCount(), 1, stack.getMaxStackSize()));
+ } else if (!menu.getCarried().isEmpty()) {
return;
}
- inventory.setCarried(stack.copy());
- player.broadcastCarriedItem();
+ menu.setCarried(stack.copy());
+ menu.broadcastChanges();
NetworkManager.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new FriendlyByteBuf(Unpooled.buffer()).writeItem(itemStack.copy()).writeUtf(player.getScoreboardName(), 32767));
});
NetworkManager.registerReceiver(NetworkManager.c2s(), MOVE_ITEMS_PACKET, (packetByteBuf, context) -> {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
index 659a410f2..3b5a157b2 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/ClientHelperImpl.java
@@ -56,14 +56,13 @@ import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.LazyLoadedValue;
import net.minecraft.util.Mth;
-import net.minecraft.world.entity.player.Inventory;
+import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
import java.time.LocalDateTime;
import java.util.*;
-import java.util.function.Predicate;
import java.util.function.Supplier;
import java.util.stream.Collectors;
@@ -103,7 +102,7 @@ public class ClientHelperImpl implements ClientHelper {
return (ClientHelperImpl) ClientHelper.getInstance();
}
- public boolean hasPermissionToUsePackets() {
+ public boolean hasPermissionToUsePackets() {
try {
Minecraft.getInstance().getConnection().getSuggestionsProvider().hasPermission(0);
return hasOperatorPermission() && canUsePackets();
@@ -157,7 +156,7 @@ public class ClientHelperImpl implements ClientHelper {
@Override
public void sendDeletePacket() {
if (Minecraft.getInstance().screen instanceof CreativeModeInventoryScreen) {
- Minecraft.getInstance().player.inventory.setCarried(ItemStack.EMPTY);
+ Minecraft.getInstance().player.containerMenu.setCarried(ItemStack.EMPTY);
((CreativeModeInventoryScreen) Minecraft.getInstance().screen).isQuickCrafting = false;
return;
}
@@ -173,22 +172,22 @@ public class ClientHelperImpl implements ClientHelper {
return false;
EntryStack<ItemStack> entry = (EntryStack<ItemStack>) e;
if (Minecraft.getInstance().player == null) return false;
- if (Minecraft.getInstance().player.inventory == null) return false;
+ if (Minecraft.getInstance().player.getInventory() == null) return false;
ItemStack cheatedStack = entry.getValue().copy();
if (ConfigObject.getInstance().isGrabbingItems() && Minecraft.getInstance().screen instanceof CreativeModeInventoryScreen) {
- Inventory inventory = Minecraft.getInstance().player.inventory;
+ AbstractContainerMenu menu = Minecraft.getInstance().player.containerMenu;
EntryStack<ItemStack> stack = entry.copy();
- if (!inventory.getCarried().isEmpty() && EntryStacks.equalsExact(EntryStacks.of(inventory.getCarried()), stack)) {
- stack.getValue().setCount(Mth.clamp(stack.getValue().getCount() + inventory.getCarried().getCount(), 1, stack.getValue().getMaxStackSize()));
- } else if (!inventory.getCarried().isEmpty()) {
+ if (!menu.getCarried().isEmpty() && EntryStacks.equalsExact(EntryStacks.of(menu.getCarried()), stack)) {
+ stack.getValue().setCount(Mth.clamp(stack.getValue().getCount() + menu.getCarried().getCount(), 1, stack.getValue().getMaxStackSize()));
+ } else if (!menu.getCarried().isEmpty()) {
return false;
}
- inventory.setCarried(stack.getValue().copy());
+ menu.setCarried(stack.getValue().copy());
return true;
} else if (ClientHelperImpl.getInstance().canUsePackets()) {
- Inventory inventory = Minecraft.getInstance().player.inventory;
+ AbstractContainerMenu menu = Minecraft.getInstance().player.containerMenu;
EntryStack<ItemStack> stack = entry.copy();
- if (!inventory.getCarried().isEmpty() && !EntryStacks.equalsExact(EntryStacks.of(inventory.getCarried()), stack)) {
+ if (!menu.getCarried().isEmpty() && !EntryStacks.equalsExact(EntryStacks.of(menu.getCarried()), stack)) {
return false;
}
try {
@@ -216,7 +215,7 @@ public class ClientHelperImpl implements ClientHelper {
@ApiStatus.Internal
public Set<EntryStack<?>> _getInventoryItemsTypes() {
- return Minecraft.getInstance().player.inventory.compartments.stream()
+ return Minecraft.getInstance().player.getInventory().compartments.stream()
.flatMap(Collection::stream)
.map(EntryStacks::of)
.collect(Collectors.toSet());
@@ -421,7 +420,7 @@ public class ClientHelperImpl implements ClientHelper {
this.preferredOpenedCategory = category;
return this;
}
-
+
@Override
@Nullable
public CategoryIdentifier<?> getPreferredOpenedCategory() {
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java
index fc91a3bc5..292258bbb 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/REIHelperImpl.java
@@ -47,6 +47,7 @@ import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.InteractionResult;
+import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
index a99affab6..b3ebdeaad 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigManagerImpl.java
@@ -317,15 +317,17 @@ public class ConfigManagerImpl implements ConfigManager {
screen.setParent(parent);
return screen;
}
- TransformingScreen parentTranslated;
- {
+ Screen parentTranslated;
+ if (!getConfig().isConfigScreenAnimated()) {
+ parentTranslated = parent;
+ } else {
MutableLong current = new MutableLong(0);
parentTranslated = new TransformingScreen(true, parent,
null,
() -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isConfigScreenAnimated() ? -3000 : 0) : current.getValue()),
() -> 0, () -> (EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
* Minecraft.getInstance().getWindow().getGuiScaledHeight(), () -> Util.getMillis() - current.getValue() > 800);
- parentTranslated.setInitAfter(true);
+ ((TransformingScreen) parentTranslated).setInitAfter(true);
}
ConfigScreenProvider<ConfigObjectImpl> provider = (ConfigScreenProvider<ConfigObjectImpl>) AutoConfig.getConfigScreen(ConfigObjectImpl.class, parentTranslated);
provider.setI13nFunction(manager -> "config.roughlyenoughitems");
@@ -341,13 +343,17 @@ public class ConfigManagerImpl implements ConfigManager {
ScreenHooks.addButton(screen, new Button(screen.width - 104, 4, 100, 20, new TranslatableComponent("text.rei.credits"), button -> {
MutableLong current = new MutableLong(0);
CreditsScreen creditsScreen = new CreditsScreen(screen);
- Minecraft.getInstance().setScreen(new TransformingScreen(false, creditsScreen,
- screen,
- () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isCreditsScreenAnimated() ? -3000 : 0) : current.getValue()),
- () -> (1 - EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
- * Minecraft.getInstance().getWindow().getGuiScaledWidth() * 1.3,
- () -> 0,
- () -> Util.getMillis() - current.getValue() > 800));
+ if (getConfig().isCreditsScreenAnimated()) {
+ Minecraft.getInstance().setScreen(new TransformingScreen(false, creditsScreen,
+ screen,
+ () -> current.setValue(current.getValue() == 0 ? Util.getMillis() + (!getConfig().isCreditsScreenAnimated() ? -3000 : 0) : current.getValue()),
+ () -> (1 - EasingMethod.EasingMethodImpl.EXPO.apply(Mth.clamp((Util.getMillis() - current.getValue()) / 750.0, 0, 1)))
+ * Minecraft.getInstance().getWindow().getGuiScaledWidth() * 1.3,
+ () -> 0,
+ () -> Util.getMillis() - current.getValue() > 800));
+ } else {
+ Minecraft.getInstance().setScreen(creditsScreen);
+ }
}));
}).setSavingRunnable(() -> {
saveConfig();
@@ -358,7 +364,8 @@ public class ConfigManagerImpl implements ConfigManager {
}).build();
});
Screen configScreen = provider.get();
- parentTranslated.setLastScreen(configScreen);
+ if (!getConfig().isConfigScreenAnimated()) return configScreen;
+ ((TransformingScreen) parentTranslated).setLastScreen(configScreen);
MutableLong current = new MutableLong(0);
return new TransformingScreen(false, configScreen,
parent,
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
index ac2156026..8d2f2b05b 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/ConfigObjectImpl.java
@@ -431,7 +431,7 @@ public class ConfigObjectImpl implements ConfigObject, ConfigData {
public static class Motion {
private boolean configScreenAnimation = false;
- private boolean creditsScreenAnimation = true;
+ private boolean creditsScreenAnimation = false;
private boolean favoritesAnimation = true;
}
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
index 48d17ee69..a7722dd1a 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringRulesScreen.java
@@ -23,6 +23,7 @@
package me.shedaniel.rei.impl.client.config.entries;
+import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
import me.shedaniel.clothconfig2.gui.widget.DynamicElementListWidget;
import me.shedaniel.rei.impl.client.entry.filtering.FilteringRule;
@@ -191,7 +192,7 @@ public class FilteringRulesScreen extends Screen {
@Override
protected void renderBg(PoseStack matrices, Minecraft client, int mouseX, int mouseY) {
super.renderBg(matrices, client, mouseX, mouseY);
- Minecraft.getInstance().getTextureManager().bind(CHEST_GUI_TEXTURE);
+ RenderSystem.setShaderTexture(0, CHEST_GUI_TEXTURE);
blit(matrices, x + 3, y + 3, 0, 0, 14, 14);
}
};
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
index cd18448e9..8b7eed143 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/config/entries/FilteringScreen.java
@@ -26,10 +26,7 @@ package me.shedaniel.rei.impl.client.config.entries;
import com.google.common.collect.Lists;
import com.google.common.collect.Sets;
import com.mojang.blaze3d.systems.RenderSystem;
-import com.mojang.blaze3d.vertex.BufferBuilder;
-import com.mojang.blaze3d.vertex.DefaultVertexFormat;
-import com.mojang.blaze3d.vertex.PoseStack;
-import com.mojang.blaze3d.vertex.Tesselator;
+import com.mojang.blaze3d.vertex.*;
import com.mojang.math.Matrix4f;
import me.shedaniel.clothconfig2.ClothConfigInitializer;
import me.shedaniel.clothconfig2.api.ScissorsHandler;
@@ -53,6 +50,7 @@ import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.components.Button;
import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.screens.Screen;
+import net.minecraft.client.renderer.GameRenderer;
import net.minecraft.network.chat.Component;
import net.minecraft.network.chat.TextComponent;
import net.minecraft.network.chat.TranslatableComponent;
@@ -196,11 +194,12 @@ public class FilteringScreen extends Screen {
protected void renderHoleBackground(PoseStack matrices, int y1, int y2, int tint, int alpha1, int alpha2) {
Tesselator tesselator = Tesselator.getInstance();
BufferBuilder buffer = tesselator.getBuilder();
- this.minecraft.getTextureManager().bind(BACKGROUND_LOCATION);
+ RenderSystem.setShaderTexture(0, BACKGROUND_LOCATION);
Matrix4f matrix = matrices.last().pose();
- RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
+ RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
float float_1 = 32.0F;
- buffer.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR);
+ RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
+ buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR);
buffer.vertex(matrix, 0, y2, 0.0F).uv(0.0F, y2 / 32.0F).color(tint, tint, tint, alpha2).endVertex();
buffer.vertex(matrix, this.width, y2, 0.0F).uv(this.width / 32.0F, y2 / 32.0F).color(tint, tint, tint, alpha2).endVertex();
buffer.vertex(matrix, this.width, y1, 0.0F).uv(this.width / 32.0F, y1 / 32.0F).color(tint, tint, tint, alpha1).endVertex();
@@ -235,7 +234,7 @@ public class FilteringScreen extends Screen {
}
manager.render(matrices, mouseX, mouseY, delta);
updatePosition(delta);
- scrolling.renderScrollBar(0xff000000, 1, REIHelper.getInstance().isDarkThemeEnabled() ? 0.8f : 1f);
+ scrolling.renderScrollBar(0, 1.0F, REIHelper.getInstance().isDarkThemeEnabled() ? 0.8F : 1F);
matrices.pushPose();
matrices.translate(0, 0, 300);
this.searchField.laterRender(matrices, mouseX, mouseY, delta);
@@ -250,19 +249,16 @@ public class FilteringScreen extends Screen {
BufferBuilder buffer = tesselator.getBuilder();
RenderSystem.enableBlend();
RenderSystem.blendFuncSeparate(770, 771, 0, 1);
- RenderSystem.disableAlphaTest();
- RenderSystem.shadeModel(7425);
RenderSystem.disableTexture();
+ RenderSystem.setShader(GameRenderer::getPositionTexColorShader);
Matrix4f matrix = matrices.last().pose();
- buffer.begin(7, DefaultVertexFormat.POSITION_TEX_COLOR);
+ buffer.begin(VertexFormat.Mode.QUADS, DefaultVertexFormat.POSITION_TEX_COLOR);
buffer.vertex(matrix, 0, bounds.y + 4, 0.0F).uv(0.0F, 1.0F).color(0, 0, 0, 0).endVertex();
buffer.vertex(matrix, width, bounds.y + 4, 0.0F).uv(1.0F, 1.0F).color(0, 0, 0, 0).endVertex();
buffer.vertex(matrix, width, bounds.y, 0.0F).uv(1.0F, 0.0F).color(0, 0, 0, 255).endVertex();
buffer.vertex(matrix, 0, bounds.y, 0.0F).uv(0.0F, 0.0F).color(0, 0, 0, 255).endVertex();
tesselator.end();
RenderSystem.enableTexture();
- RenderSystem.shadeModel(7424);
- RenderSystem.enableAlphaTest();
RenderSystem.disableBlend();
renderHoleBackground(matrices, 0, bounds.y, 64, 255, 255);
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java
index ed321c055..8d086c4f1 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/ContainerScreenOverlay.java
@@ -211,7 +211,7 @@ public class ContainerScreenOverlay extends REIOverlay {
public void init() {
Argument.SEARCH_CACHE.clear();
- draggingStack.set(DraggableStackProvider.from(() -> ScreenRegistry.getInstance().getDraggableProviders()),
+ draggingStack.set(DraggableStackProvider.from(() -> ScreenRegistry.getInstance().getDraggableProviders()),
DraggableStackVisitor.from(() -> ScreenRegistry.getInstance().getDraggableVisitors()));
this.shouldReload = false;
@@ -254,7 +254,7 @@ public class ContainerScreenOverlay extends REIOverlay {
.tooltipLine(new TranslatableComponent("text.rei.next_page"))
.focusable(false));
}
-
+
final Rectangle configButtonArea = getConfigButtonArea();
widgets.add(configButton = InternalWidgets.wrapLateRenderable(
Widgets.withTranslate(
@@ -294,7 +294,7 @@ public class ContainerScreenOverlay extends REIOverlay {
}),
Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> {
helper.setBlitOffset(helper.getBlitOffset() + 1);
- Minecraft.getInstance().getTextureManager().bind(CHEST_GUI_TEXTURE);
+ RenderSystem.setShaderTexture(0, CHEST_GUI_TEXTURE);
helper.blit(matrices, configButtonArea.x + 3, configButtonArea.y + 3, 0, 0, 14, 14);
})
),
@@ -347,8 +347,8 @@ public class ContainerScreenOverlay extends REIOverlay {
.focusable(false)
.containsMousePredicate((button, point) -> button.getBounds().contains(point) && isNotInExclusionZones(point.x, point.y)));
widgets.add(Widgets.createDrawableWidget((helper, matrices, mouseX, mouseY, delta) -> {
- Minecraft.getInstance().getTextureManager().bind(CHEST_GUI_TEXTURE);
- RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
+ RenderSystem.setShaderTexture(0, CHEST_GUI_TEXTURE);
+ RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
helper.blit(matrices, weatherButton.getBounds().x + 3, weatherButton.getBounds().y + 3, getCurrentWeather().getId() * 14, 14, 14, 14);
}));
}
@@ -535,7 +535,7 @@ public class ContainerScreenOverlay extends REIOverlay {
}
matrices.popPose();
}
- RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
+ RenderSystem.setShaderColor(1.0F, 1.0F, 1.0F, 1.0F);
this.renderWidgets(matrices, mouseX, mouseY, delta);
if (ConfigObject.getInstance().areClickableRecipeArrowsEnabled()) {
Screen screen = Minecraft.getInstance().screen;
diff --git a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java
index f3ab4928f..ba246bc90 100644
--- a/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java
+++ b/runtime/src/main/java/me/shedaniel/rei/impl/client/gui/RecipeDisplayExporter.java
@@ -29,6 +29,7 @@ import com.mojang.blaze3d.platform.NativeImage;
import com.mojang.blaze3d.platform.Window;
import com.mojang.blaze3d.systems.RenderSystem;
import com.mojang.blaze3d.vertex.PoseStack;
+import com.mojang.math.Matrix4f;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.client.gui.widgets.Widget;