From 66bd26b6ab2172a834d06e9f70d09a659faa8ebd Mon Sep 17 00:00:00 2001 From: shedaniel Date: Fri, 28 Oct 2022 19:21:36 +0800 Subject: Update to 22w43a --- .../client/favorites/CompoundFavoriteRenderer.java | 6 +- .../rei/api/client/gui/widgets/Widget.java | 11 ++- .../rei/api/client/gui/widgets/Widgets.java | 4 +- .../api/client/registry/entry/EntryRegistry.java | 2 + .../shedaniel/rei/api/client/util/MatrixUtils.java | 10 +- .../rei/api/client/util/SpriteRenderer.java | 11 +-- .../me/shedaniel/rei/impl/ClientInternals.java | 2 +- .../java/me/shedaniel/rei/impl/VersionAdapter.java | 102 --------------------- 8 files changed, 24 insertions(+), 124 deletions(-) delete mode 100644 api/src/main/java/me/shedaniel/rei/impl/VersionAdapter.java (limited to 'api/src/main/java/me') 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 858d43aa5..a0b654e66 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/widgets/Widget.java b/api/src/main/java/me/shedaniel/rei/api/client/gui/widgets/Widget.java index 2e683f51a..438e0f53b 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 @@ -76,13 +77,13 @@ 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())); } 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 028947c34..b9171dae2 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 63ed14d72..d2deaac32 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 @@ -96,7 +96,9 @@ public interface EntryRegistry extends Reloadable { * * @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 appendStacksForItem(Item item); /** 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 f03d16315..bcdfe33c7 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 d700051ad..f272839de 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,15 +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 me.shedaniel.rei.impl.VersionAdapter; 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 { @@ -192,7 +191,7 @@ public class SpriteRenderer { throw new RuntimeException("Invalid Sprite!"); } - next(VersionAdapter.INSTANCE.spriteName(sprite)); + next(sprite.contents().name()); } public void next(ResourceLocation texture) { @@ -213,8 +212,8 @@ public class SpriteRenderer { this.normal = this.matrices.last().normal(); } - float sX = VersionAdapter.INSTANCE.spriteWidth(sprite); - float sY = VersionAdapter.INSTANCE.spriteHeight(sprite); + float sX = sprite.contents().width(); + float sY = sprite.contents().height(); RenderSystem.setShaderTexture(0, texture); 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 36456399b..653c659d6 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 me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; @@ -51,6 +50,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; diff --git a/api/src/main/java/me/shedaniel/rei/impl/VersionAdapter.java b/api/src/main/java/me/shedaniel/rei/impl/VersionAdapter.java deleted file mode 100644 index 24d57ab7c..000000000 --- a/api/src/main/java/me/shedaniel/rei/impl/VersionAdapter.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020, 2021, 2022 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.impl; - -import me.shedaniel.rei.api.client.registry.entry.EntryRegistry; -import me.shedaniel.rei.api.common.entry.EntryStack; -import me.shedaniel.rei.api.common.util.EntryIngredients; -import me.shedaniel.rei.api.common.util.EntryStacks; -import net.fabricmc.api.EnvType; -import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.core.Holder; -import net.minecraft.core.Registry; -import net.minecraft.resources.ResourceKey; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.item.Item; -import net.minecraft.world.item.ItemStack; -import org.jetbrains.annotations.ApiStatus; - -import java.util.Comparator; -import java.util.List; -import java.util.Optional; - -@ApiStatus.Internal -public interface VersionAdapter { - VersionAdapter INSTANCE = load(); - - private static VersionAdapter load() { - try { - Class.forName("me.shedaniel.rei.impl.init.versions.Version1_19_3AdapterCheck"); - return (VersionAdapter) Class.forName("me.shedaniel.rei.impl.init.versions.Version1_19_3Adapter").getDeclaredConstructor().newInstance(); - } catch (Throwable throwable) { - } - try { - Class.forName("me.shedaniel.rei.impl.init.versions.Version1_19_1AdapterCheck"); - return (VersionAdapter) Class.forName("me.shedaniel.rei.impl.init.versions.Version1_19_1Adapter").getDeclaredConstructor().newInstance(); - } catch (Throwable throwable) { - } - try { - return (VersionAdapter) Class.forName("me.shedaniel.rei.impl.init.versions.Version1_19Adapter").getDeclaredConstructor().newInstance(); - } catch (Throwable throwable) { - throw new RuntimeException(throwable); - } - } - - @Environment(EnvType.CLIENT) - default void registerDefaultItems(EntryRegistry registry) { - for (Item item : Registry.ITEM) { - try { - registry.addEntries(EntryIngredients.ofItemStacks(registry.appendStacksForItem(item))); - } catch (Exception ignored) { - registry.addEntry(EntryStacks.of(item)); - } - } - } - - @Environment(EnvType.CLIENT) - List appendStacksForItem(Item item, Comparator comparator); - - @Environment(EnvType.CLIENT) - ResourceLocation spriteAtlasLocation(TextureAtlasSprite sprite); - - @Environment(EnvType.CLIENT) - ResourceLocation spriteName(TextureAtlasSprite sprite); - - @Environment(EnvType.CLIENT) - int spriteWidth(TextureAtlasSprite sprite); - - @Environment(EnvType.CLIENT) - int spriteHeight(TextureAtlasSprite sprite); - - Optional> getHolder(Registry registry, ResourceKey key); - - Optional> getHolder(Registry registry, int id); - - @Environment(EnvType.CLIENT) - void sendCommand(String command); - - @Environment(EnvType.CLIENT) - Comparator> getEntryGroupComparator(); -} -- cgit