aboutsummaryrefslogtreecommitdiff
path: root/api/src/main
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2025-04-10 15:35:26 +0800
committershedaniel <daniel@shedaniel.me>2025-04-10 19:14:00 +0800
commitade79d9a271916885c758632c01d4f7195803a2c (patch)
tree1a2662a2b529f682a4efa138c2ee12808e6b979f /api/src/main
parent9d3bb3cfc7d0c494b33e5d914487a404f2f9d02e (diff)
downloadRoughlyEnoughItems-ade79d9a271916885c758632c01d4f7195803a2c.tar.gz
RoughlyEnoughItems-ade79d9a271916885c758632c01d4f7195803a2c.tar.bz2
RoughlyEnoughItems-ade79d9a271916885c758632c01d4f7195803a2c.zip
Update to 1.21.5
Diffstat (limited to 'api/src/main')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/entry/filtering/FilteringRuleType.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/simple/SimpleTransferHandler.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java9
-rw-r--r--api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java7
5 files changed, 17 insertions, 9 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/entry/filtering/FilteringRuleType.java b/api/src/main/java/me/shedaniel/rei/api/client/entry/filtering/FilteringRuleType.java
index 5c17346d2..620c3e07a 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/entry/filtering/FilteringRuleType.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/entry/filtering/FilteringRuleType.java
@@ -74,9 +74,9 @@ public interface FilteringRuleType<T extends FilteringRule<?>> {
*/
@Nullable
static FilteringRule<?> read(CompoundTag tag) {
- FilteringRuleType<?> type = FilteringRuleTypeRegistry.getInstance().get(ResourceLocation.tryParse(tag.getString("id")));
+ FilteringRuleType<?> type = FilteringRuleTypeRegistry.getInstance().get(ResourceLocation.tryParse(tag.getString("id").orElseThrow()));
if (type == null) return null;
- return type.readFrom(tag.getCompound("rule"));
+ return type.readFrom(tag.getCompoundOrEmpty("rule"));
}
/**
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/simple/SimpleTransferHandler.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/simple/SimpleTransferHandler.java
index 17668f8ca..f5c8981f8 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/simple/SimpleTransferHandler.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/transfer/simple/SimpleTransferHandler.java
@@ -32,7 +32,6 @@ import me.shedaniel.rei.api.client.registry.transfer.TransferHandler;
import me.shedaniel.rei.api.client.registry.transfer.TransferHandlerMeta;
import me.shedaniel.rei.api.common.category.CategoryIdentifier;
import me.shedaniel.rei.api.common.display.Display;
-import me.shedaniel.rei.api.common.entry.EntryStack;
import me.shedaniel.rei.api.common.entry.InputIngredient;
import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes;
import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor;
@@ -46,7 +45,6 @@ import net.minecraft.world.inventory.AbstractContainerMenu;
import net.minecraft.world.item.ItemStack;
import org.jetbrains.annotations.ApiStatus;
-import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
@@ -80,7 +78,7 @@ public interface SimpleTransferHandler extends TransferHandler, TransferHandlerM
public Iterable<SlotAccessor> getInventorySlots(Context context) {
LocalPlayer player = context.getMinecraft().player;
Inventory inventory = player.getInventory();
- return IntStream.range(0, inventory.items.size())
+ return IntStream.range(0, inventory.getNonEquipmentItems().size())
.mapToObj(index -> SlotAccessor.fromPlayerInventory(player, index))
.collect(Collectors.toList());
}
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java b/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
index 7d6192fd5..6ca6595ff 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java
@@ -36,7 +36,7 @@ public class MatrixUtils {
Transformation transformation = new Transformation(matrix);
Transformation inverse = transformation.inverse();
if (inverse != null) inverse.getScale(); // This has a side effect
- return inverse == null ? Transformation.identity().getMatrix() : inverse.getMatrix();
+ return inverse == null ? Transformation.identity().getMatrixCopy() : inverse.getMatrixCopy();
}
public static Rectangle transform(Matrix4f matrix, Rectangle rectangle) {
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java
index 5c9e3c92f..f7005374f 100644
--- a/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java
+++ b/api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java
@@ -28,11 +28,15 @@ import com.mojang.blaze3d.vertex.PoseStack;
import com.mojang.blaze3d.vertex.VertexConsumer;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
+import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.GuiGraphics;
import net.minecraft.client.renderer.MultiBufferSource;
import net.minecraft.client.renderer.RenderType;
+import net.minecraft.client.renderer.texture.AbstractTexture;
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
+import net.minecraft.client.renderer.texture.TextureManager;
import net.minecraft.resources.ResourceLocation;
+import net.minecraft.util.TriState;
import org.joml.Matrix3f;
import org.joml.Matrix4f;
import org.joml.Vector3f;
@@ -223,7 +227,10 @@ public class SpriteRenderer {
float sX = sprite.contents().width();
float sY = sprite.contents().height();
- RenderSystem.setShaderTexture(0, texture);
+ TextureManager textureManager = Minecraft.getInstance().getTextureManager();
+ AbstractTexture abstractTexture = textureManager.getTexture(texture);
+ abstractTexture.setFilter(TriState.FALSE, false);
+ RenderSystem.setShaderTexture(0, abstractTexture.getTexture());
for (float y = y1; y < y2; y += Math.min(y2 - y, sY)) {
for (float x = x1; x < x2; x += Math.min(x2 - x, sX)) {
diff --git a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
index 6b00b4d7d..0eb1c9b49 100644
--- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
+++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java
@@ -45,7 +45,6 @@ import me.shedaniel.rei.api.common.plugins.PluginManager;
import me.shedaniel.rei.api.common.transfer.info.stack.SlotAccessor;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
-import net.minecraft.client.data.models.blockstates.PropertyDispatch;
import net.minecraft.client.gui.components.events.GuiEventListener;
import net.minecraft.client.gui.screens.inventory.tooltip.ClientTooltipComponent;
import net.minecraft.nbt.CompoundTag;
@@ -84,7 +83,7 @@ public final class ClientInternals {
private static Function<Boolean, ClickArea.Result> clickAreaHandlerResult = (result) -> throwNotSetup();
private static BiConsumer<List<ClientTooltipComponent>, TooltipComponent> clientTooltipComponentProvider = (tooltip, result) -> throwNotSetup();
private static BiFunction<@Nullable Point, Collection<Tooltip.Entry>, Tooltip> tooltipProvider = (point, texts) -> throwNotSetup();
- private static PropertyDispatch.QuadFunction<Point, @Nullable TooltipFlag, Boolean, Item.TooltipContext, TooltipContext> tooltipContextProvider = (point, texts, search, context) -> throwNotSetup();
+ private static QuadFunction<Point, @Nullable TooltipFlag, Boolean, Item.TooltipContext, TooltipContext> tooltipContextProvider = (point, texts, search, context) -> throwNotSetup();
private static Function<Object, Tooltip.Entry> tooltipEntryProvider = (component) -> throwNotSetup();
private static Supplier<List<String>> jeiCompatMods = ClientInternals::throwNotSetup;
private static Supplier<Object> builtinClientPlugin = ClientInternals::throwNotSetup;
@@ -243,4 +242,8 @@ public final class ClientInternals {
public interface SimpleTransferHandler {
TransferHandler.Result handle(TransferHandler.Context context, me.shedaniel.rei.api.client.registry.transfer.simple.SimpleTransferHandler.MissingInputRenderer missingInputRenderer, List<InputIngredient<ItemStack>> inputs, Iterable<SlotAccessor> inputSlots, Iterable<SlotAccessor> inventorySlots);
}
+
+ public interface QuadFunction<T, U, V, W, R> {
+ R apply(T t, U u, V v, W w);
+ }
}