aboutsummaryrefslogtreecommitdiff
path: root/api/src
diff options
context:
space:
mode:
Diffstat (limited to 'api/src')
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/ClientHelper.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/favorites/CompoundFavoriteRenderer.java6
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/AbstractRenderer.java6
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java18
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widgets.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/registry/entry/EntryRegistry.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/search/method/InputMethod.java4
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/MatrixUtils.java10
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/client/util/SpriteRenderer.java10
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java13
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/transfer/info/simple/DumpHandler.java2
-rw-r--r--api/src/main/java/me/shedaniel/rei/api/common/util/EntryIngredients.java3
-rw-r--r--api/src/main/java/me/shedaniel/rei/impl/ClientInternals.java2
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;