diff options
Diffstat (limited to 'api/src')
13 files changed, 53 insertions, 31 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java index 4726e8fd1..d84e629cc 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java @@ -32,7 +32,7 @@ import me.shedaniel.rei.impl.ClientInternals; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.ChatFormatting; -import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Item; @@ -90,7 +90,7 @@ public interface ClientHelper { default String getModFromItem(Item item) { if (item.equals(Items.AIR)) return ""; - return getModFromIdentifier(Registry.ITEM.getKey(item)); + return getModFromIdentifier(BuiltInRegistries.ITEM.getKey(item)); } /** 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 4c25a2e94..e59f2dcf2 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 @@ -24,7 +24,6 @@ package me.shedaniel.rei.api.client.favorites; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Vector4f; import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.clothconfig2.api.animator.NumberAnimator; import me.shedaniel.clothconfig2.api.animator.ValueAnimator; @@ -34,6 +33,7 @@ import me.shedaniel.rei.api.client.gui.Renderer; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.Util; +import org.joml.Vector4f; import java.util.List; import java.util.function.IntFunction; @@ -92,9 +92,9 @@ public class CompoundFavoriteRenderer extends AbstractRenderer { public void render(PoseStack matrices, Rectangle bounds, int mouseX, int mouseY, float delta) { updateAnimator(delta); Vector4f vector4f = new Vector4f(bounds.x, bounds.y, 0, 1.0F); - vector4f.transform(matrices.last().pose()); + matrices.last().pose().transform(vector4f); Vector4f vector4f2 = new Vector4f(bounds.getMaxX(), bounds.getMaxY(), 0, 1.0F); - vector4f2.transform(matrices.last().pose()); + matrices.last().pose().transform(vector4f2); scissorArea.setBounds((int) vector4f.x(), (int) vector4f.y(), (int) vector4f2.x() - (int) vector4f.x(), (int) vector4f2.y() - (int) vector4f.y()); ScissorsHandler.INSTANCE.scissor(scissorArea); matrices.pushPose(); diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java index 5adb1437c..45d9d293e 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java @@ -29,13 +29,15 @@ import net.minecraft.client.gui.GuiComponent; @Environment(EnvType.CLIENT) public abstract class AbstractRenderer extends GuiComponent implements Renderer { + private int z; + @Override public int getZ() { - return getBlitOffset(); + return z; } @Override public void setZ(int z) { - setBlitOffset(z); + this.z = z; } } 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 5ea716f3b..a631ddded 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 @@ -24,8 +24,6 @@ package me.shedaniel.rei.api.client.gui.widgets; import com.mojang.blaze3d.vertex.PoseStack; -import com.mojang.math.Matrix4f; -import com.mojang.math.Vector4f; import me.shedaniel.clothconfig2.api.ScissorsHandler; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; @@ -37,7 +35,10 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.Font; +import net.minecraft.client.gui.components.Renderable; import org.jetbrains.annotations.ApiStatus; +import org.joml.Matrix4f; +import org.joml.Vector4f; import java.util.Stack; @@ -47,7 +48,7 @@ import java.util.Stack; * @see WidgetWithBounds for a widget with bounds */ @Environment(EnvType.CLIENT) -public abstract class Widget extends AbstractContainerEventHandler implements net.minecraft.client.gui.components.Widget, Renderer { +public abstract class Widget extends AbstractContainerEventHandler implements Renderable, Renderer { /** * The Minecraft Client instance @@ -58,6 +59,7 @@ public abstract class Widget extends AbstractContainerEventHandler implements ne */ protected final Font font = minecraft.font; private static final Stack<Point> mouseStack = new Stack<>(); + private int z; public static Point mouse() { return mouseStack.empty() ? PointHelper.ofMouse() : mouseStack.peek(); @@ -76,22 +78,24 @@ public abstract class Widget extends AbstractContainerEventHandler implements ne } public static Point translateMouse(double x, double y, double z) { - return translateMouse(Matrix4f.createTranslateMatrix((float) x, (float) y, (float) z)); + return translateMouse(new Matrix4f().translate((float) x, (float) y, (float) z)); } public static Point translateMouse(Matrix4f pose) { Point mouse = mouse(); Vector4f mouseVec = new Vector4f(mouse.x, mouse.y, 0, 1); - mouseVec.transform(pose); + pose.transform(mouseVec); return pushMouse(new Point(mouseVec.x(), mouseVec.y())); } + @Override public int getZ() { - return this.getBlitOffset(); + return this.z; } + @Override public void setZ(int z) { - this.setBlitOffset(z); + this.z = z; } public boolean containsMouse(double mouseX, double mouseY) { diff --git a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java index 54170fbb6..f7c751888 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java @@ -24,7 +24,6 @@ package me.shedaniel.rei.api.client.gui.widgets; import com.google.common.collect.AbstractIterator; -import com.mojang.math.Matrix4f; import me.shedaniel.math.Dimension; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; @@ -43,6 +42,7 @@ import net.minecraft.resources.ResourceLocation; import net.minecraft.sounds.SoundEvents; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; +import org.joml.Matrix4f; import java.util.*; import java.util.function.Consumer; @@ -106,7 +106,7 @@ public final class Widgets { } public static WidgetWithBounds withTranslate(Widget widget, double x, double y, double z) { - return withTranslate(widget, Matrix4f.createTranslateMatrix((float) x, (float) y, (float) z)); + return withTranslate(widget, new Matrix4f().translate((float) x, (float) y, (float) z)); } public static WidgetWithBounds withTranslate(Widget widget, Matrix4f translate) { diff --git a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java index 99cb3b429..51aa453f3 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java @@ -98,7 +98,9 @@ public interface EntryRegistry extends Reloadable<REIClientPlugin> { * * @param item the item to find * @return the list of possible stacks, will never be empty. + * @deprecated deprecated logic due to 1.19.3 new creative tabs logic */ + @Deprecated(forRemoval = true) List<ItemStack> appendStacksForItem(Item item); /** diff --git a/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java b/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java index 24372ed05..ef7ab26f1 100644 --- a/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java +++ b/api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java @@ -58,8 +58,8 @@ public interface InputMethod<T> { * @return the list of all Minecraft supported locales */ static List<Locale> getAllLocales() { - return CollectionUtils.map(Minecraft.getInstance().getLanguageManager().getLanguages(), info -> - new Locale(info.getCode(), Component.literal(info.getName()))); + return CollectionUtils.map(Minecraft.getInstance().getLanguageManager().getLanguages().entrySet(), entry -> + new Locale(entry.getKey(), entry.getValue().toComponent())); } /** 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 ec1518c37..7d6192fd5 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 @@ -23,12 +23,12 @@ package me.shedaniel.rei.api.client.util; -import com.mojang.math.Matrix4f; import com.mojang.math.Transformation; -import com.mojang.math.Vector4f; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; import org.jetbrains.annotations.ApiStatus; +import org.joml.Matrix4f; +import org.joml.Vector4f; @ApiStatus.Experimental public class MatrixUtils { @@ -41,9 +41,9 @@ public class MatrixUtils { public static Rectangle transform(Matrix4f matrix, Rectangle rectangle) { Vector4f vec1 = new Vector4f((float) rectangle.x, (float) rectangle.y, 0, 1); - vec1.transform(matrix); + matrix.transform(vec1); Vector4f vec2 = new Vector4f((float) rectangle.getMaxX(), (float) rectangle.getMaxY(), 0, 1); - vec2.transform(matrix); + matrix.transform(vec2); int x1 = Math.round(vec1.x()); int x2 = Math.round(vec2.x()); int y1 = Math.round(vec1.y()); @@ -53,7 +53,7 @@ public class MatrixUtils { public static Point transform(Matrix4f matrix, Point point) { Vector4f mouse = new Vector4f((float) point.x, (float) point.y, 0, 1); - mouse.transform(matrix); + matrix.transform(mouse); return new Point(mouse.x(), mouse.y()); } } 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 31680cf24..9349f5bab 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 @@ -26,14 +26,14 @@ package me.shedaniel.rei.api.client.util; import com.mojang.blaze3d.systems.RenderSystem; import com.mojang.blaze3d.vertex.PoseStack; import com.mojang.blaze3d.vertex.VertexConsumer; -import com.mojang.math.Matrix3f; -import com.mojang.math.Matrix4f; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.renderer.MultiBufferSource; import net.minecraft.client.renderer.RenderType; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.resources.ResourceLocation; +import org.joml.Matrix3f; +import org.joml.Matrix4f; @Environment(EnvType.CLIENT) public class SpriteRenderer { @@ -191,7 +191,7 @@ public class SpriteRenderer { throw new RuntimeException("Invalid Sprite!"); } - next(sprite.getName()); + next(sprite.contents().name()); } public void next(ResourceLocation texture) { @@ -212,8 +212,8 @@ public class SpriteRenderer { this.normal = this.matrices.last().normal(); } - float sX = sprite.getWidth(); - float sY = sprite.getHeight(); + float sX = sprite.contents().width(); + float sY = sprite.contents().height(); RenderSystem.setShaderTexture(0, texture); diff --git a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java index 9c259a1ba..09f913832 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java @@ -23,23 +23,31 @@ package me.shedaniel.rei.api.common.display.basic; +import dev.architectury.utils.EnvExecutor; +import dev.architectury.utils.GameInstance; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.display.SimpleDisplaySerializer; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.EntryIngredients; +import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Optional; +import java.util.function.Supplier; /** * A basic implementation of a display, consisting of a list of inputs, a list of outputs * and a possible display location. */ public abstract class BasicDisplay implements Display { + protected static final Supplier<RegistryAccess> REGISTRY_ACCESS = + EnvExecutor.getEnvSpecific(() -> () -> () -> GameInstance.getClient().player.level.registryAccess(), + () -> () -> () -> GameInstance.getServer().registryAccess()); protected List<EntryIngredient> inputs; protected List<EntryIngredient> outputs; protected Optional<ResourceLocation> location; @@ -54,6 +62,11 @@ public abstract class BasicDisplay implements Display { this.location = location; } + @ApiStatus.Experimental + public static RegistryAccess registryAccess() { + return REGISTRY_ACCESS.get(); + } + /** * {@inheritDoc} */ diff --git a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java index 222651b79..9f1fe8593 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java @@ -55,6 +55,6 @@ public interface DumpHandler<T extends AbstractContainerMenu, D extends Display> } static boolean canStackAddMore(ItemStack existingStack, ItemStack stack) { - return !existingStack.isEmpty() && ItemStack.isSameIgnoreDurability(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); + return !existingStack.isEmpty() && ItemStack.isSameItemSameTags(existingStack, stack) && existingStack.isStackable() && existingStack.getCount() + stack.getCount() <= existingStack.getMaxStackSize(); } } diff --git a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java index b6f07403f..2e65e6f8f 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java @@ -33,6 +33,7 @@ import me.shedaniel.rei.api.common.entry.type.VanillaEntryTypes; import net.minecraft.core.Holder; import net.minecraft.core.HolderSet; import net.minecraft.core.Registry; +import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceKey; @@ -140,7 +141,7 @@ public final class EntryIngredients { } public static <S, T> EntryIngredient ofTag(TagKey<S> tagKey, Function<Holder<S>, EntryStack<T>> mapper) { - Registry<S> registry = ((Registry<Registry<S>>) Registry.REGISTRY).get((ResourceKey<Registry<S>>) tagKey.registry()); + Registry<S> registry = ((Registry<Registry<S>>) BuiltInRegistries.REGISTRY).get((ResourceKey<Registry<S>>) tagKey.registry()); HolderSet.Named<S> holders = registry.getTag(tagKey).orElse(null); if (holders == null) return EntryIngredient.empty(); EntryIngredient.Builder result = EntryIngredient.builder(holders.size()); 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 e7e165b97..27e4280d1 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java @@ -23,7 +23,6 @@ package me.shedaniel.rei.impl; -import com.mojang.math.Matrix4f; import com.mojang.serialization.DataResult; import dev.architectury.utils.value.BooleanValue; import me.shedaniel.math.Point; @@ -58,6 +57,7 @@ import net.minecraft.world.item.TooltipFlag; import org.apache.commons.lang3.function.TriFunction; import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.Nullable; +import org.joml.Matrix4f; import java.lang.reflect.Field; import java.util.Collection; |
