diff options
Diffstat (limited to 'api/src')
7 files changed, 18 insertions, 18 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/favorites/CompoundFavoriteRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java index ad1c7b3b2..b00381a07 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java @@ -32,7 +32,6 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.Util; import net.minecraft.client.gui.GuiGraphics; -import org.joml.Vector4f; import java.util.List; import java.util.function.IntFunction; @@ -90,12 +89,7 @@ public class CompoundFavoriteRenderer implements Renderer { @Override public void render(GuiGraphics graphics, Rectangle bounds, int mouseX, int mouseY, float delta) { updateAnimator(delta); - Vector4f vector4f = new Vector4f(bounds.x, bounds.y, 0, 1.0F); - graphics.pose().last().pose().transform(vector4f); - Vector4f vector4f2 = new Vector4f(bounds.getMaxX(), bounds.getMaxY(), 0, 1.0F); - graphics.pose().last().pose().transform(vector4f2); - scissorArea.setBounds((int) vector4f.x(), (int) vector4f.y(), (int) vector4f2.x() - (int) vector4f.x(), (int) vector4f2.y() - (int) vector4f.y()); - graphics.enableScissor(scissorArea.x, scissorArea.y, scissorArea.getMaxX(), scissorArea.getMaxY()); + graphics.enableScissor(bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY()); graphics.pose().pushPose(); graphics.pose().translate(0, this.offset.floatValue() * -bounds.getHeight(), 0); for (int i = 0; i < count; i++) { diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java index 06a770620..499383833 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java @@ -29,7 +29,6 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.math.impl.PointHelper; import me.shedaniel.rei.api.client.gui.AbstractContainerEventHandler; import me.shedaniel.rei.api.client.gui.Renderer; -import me.shedaniel.rei.api.client.util.MatrixUtils; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; @@ -119,7 +118,6 @@ public abstract class Widget extends AbstractContainerEventHandler implements Re @ApiStatus.Experimental public static CloseableScissors scissor(GuiGraphics graphics, Rectangle bounds) { - bounds = MatrixUtils.transform(graphics.pose().last().pose(), bounds); graphics.enableScissor(bounds.x, bounds.y, bounds.getMaxX(), bounds.getMaxY()); return graphics::disableScissor; } 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); + } } |
