From c871bc0a460b8b22ea49d12cc12f9775d67ccd8e Mon Sep 17 00:00:00 2001 From: shedaniel Date: Thu, 16 Mar 2023 20:23:09 +0800 Subject: Port to 1.19.4 --- .github/workflows/curseforge.yml | 1 + .../common/displays/DefaultSmithingDisplay.java | 45 ++++++++++++++++++++++ fabric/build.gradle | 2 +- forge/build.gradle | 6 +-- .../main/resources/META-INF/accesstransformer.cfg | 13 +++++-- forge/src/main/resources/META-INF/mods.toml | 6 +-- gradle.properties | 14 +++---- .../plugin/client/entry/ItemEntryDefinition.java | 16 +++----- settings.gradle | 2 +- 9 files changed, 77 insertions(+), 28 deletions(-) diff --git a/.github/workflows/curseforge.yml b/.github/workflows/curseforge.yml index 2b9b137b0..18b67355a 100644 --- a/.github/workflows/curseforge.yml +++ b/.github/workflows/curseforge.yml @@ -13,6 +13,7 @@ on: - 8.x-1.18.2 - 9.x-1.19 - 10.x-1.19.3 + - 11.x-1.19.4 jobs: build: diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java index f999a4a27..67210568b 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/DefaultSmithingDisplay.java @@ -28,7 +28,12 @@ import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.plugin.common.BuiltinPlugin; +import net.minecraft.core.Holder; +import net.minecraft.core.RegistryAccess; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.item.Item; +import net.minecraft.world.item.ItemStack; +import net.minecraft.world.item.armortrim.*; import net.minecraft.world.item.crafting.LegacyUpgradeRecipe; import net.minecraft.world.item.crafting.SmithingRecipe; import net.minecraft.world.item.crafting.SmithingTransformRecipe; @@ -37,6 +42,7 @@ import org.jetbrains.annotations.ApiStatus; import java.util.List; import java.util.Optional; +import java.util.function.Supplier; public class DefaultSmithingDisplay extends BasicDisplay { public DefaultSmithingDisplay(LegacyUpgradeRecipe recipe) { @@ -73,6 +79,45 @@ public class DefaultSmithingDisplay extends BasicDisplay { ); } +// @ApiStatus.Experimental +// public DefaultSmithingDisplay(SmithingTrimRecipe recipe) { +// this( +// List.of( +// EntryIngredients.ofIngredient(recipe.template), +// EntryIngredients.ofIngredient(recipe.base), +// EntryIngredients.ofIngredient(recipe.addition) +// ), +// List.of(EntryIngredients.ofItemStacks(((Supplier>) () -> { +// RegistryAccess registryAccess = BasicDisplay.registryAccess(); +// ItemStack[] templateItems = recipe.template.getItems(); +// ItemStack[] baseItems = recipe.base.getItems(); +// if (templateItems.length != 0) { +// Holder.Reference trimPattern = TrimPatterns.getFromTemplate(registryAccess, templateItems[0]) +// .orElse(null); +// if (trimPattern != null) { +// for (ItemStack additionItem : recipe.addition.getItems()) { +// Holder.Reference trimMaterial = TrimMaterials.getFromIngredient(registryAccess, additionItem) +// .orElse(null); +// if (trimMaterial != null) { +// Optional trim = ArmorTrim.getTrim(registryAccess, itemStack); +// if (trim.isEmpty() || !trim.get().hasPatternAndMaterial(trimPattern, trimMaterial)) { +// ItemStack itemStack2 = itemStack.copy(); +// itemStack2.setCount(1); +// ArmorTrim armorTrim = new ArmorTrim((Holder) optional.get(), (Holder) optional2.get()); +// if (ArmorTrim.setTrim(registryAccess, itemStack2, armorTrim)) { +// return itemStack2; +// } +// } +// } +// } +// } +// } +// return List.of(recipe.getResultItem(registryAccess)); +// }).get())), +// Optional.ofNullable(recipe.getId()) +// ); +// } + public DefaultSmithingDisplay(SmithingRecipe recipe, List inputs) { this( inputs, diff --git a/fabric/build.gradle b/fabric/build.gradle index 762a1e207..58d30a50f 100644 --- a/fabric/build.gradle +++ b/fabric/build.gradle @@ -106,7 +106,7 @@ unifiedPublishing { project { displayName = "[Fabric $rootProject.supported_version] v$project.version" releaseType = "release" - gameVersions = ["1.19.3"] + gameVersions = ["1.19.4"] gameLoaders = ["fabric"] changelog = rootProject.releaseChangelog diff --git a/forge/build.gradle b/forge/build.gradle index 25dd8cc0a..b79e8da00 100644 --- a/forge/build.gradle +++ b/forge/build.gradle @@ -66,7 +66,7 @@ dependencies { shadowCommon(project(path: it, configuration: "transformProductionForge")) { transitive false } } - modRuntime("curse.maven:lazy-dfu-forge-460819:3544496") + // modRuntime("curse.maven:lazy-dfu-forge-460819:3544496") // modRuntime("curse.maven:chiselsbits-231095:3492889") // modRuntime("curse.maven:jumbofurnace-390880:3120970") // modRuntime("curse.maven:cyclic-239286:3221427") @@ -215,7 +215,7 @@ unifiedPublishing { project { displayName = "[Forge $rootProject.supported_version] v$project.version" releaseType = "beta" - gameVersions = ["1.19.3"] + gameVersions = ["1.19.4"] gameLoaders = ["forge"] changelog = rootProject.releaseChangelog @@ -255,7 +255,7 @@ unifiedPublishing { project { displayName = "[Forge $rootProject.supported_version] v$project.version" releaseType = "release" - gameVersions = ["1.19.3"] + gameVersions = ["1.19.4"] gameLoaders = ["forge"] changelog = rootProject.releaseChangelog diff --git a/forge/src/main/resources/META-INF/accesstransformer.cfg b/forge/src/main/resources/META-INF/accesstransformer.cfg index f421615ee..cd8fd6891 100644 --- a/forge/src/main/resources/META-INF/accesstransformer.cfg +++ b/forge/src/main/resources/META-INF/accesstransformer.cfg @@ -20,8 +20,6 @@ public net.minecraft.world.item.alchemy.PotionBrewing f_43494_ public net.minecraft.world.item.alchemy.PotionBrewing$Mix f_43532_ public net.minecraft.world.item.alchemy.PotionBrewing$Mix f_43533_ public net.minecraft.world.item.alchemy.PotionBrewing$Mix f_43534_ -public net.minecraft.world.item.crafting.UpgradeRecipe f_44519_ -public net.minecraft.world.item.crafting.UpgradeRecipe f_44518_ public net.minecraft.client.gui.GuiComponent m_93112_(Lorg/joml/Matrix4f;IIIIIFFFF)V public net.minecraft.client.gui.screens.Screen m_7787_(Lnet/minecraft/client/gui/components/events/GuiEventListener;)Lnet/minecraft/client/gui/components/events/GuiEventListener; public net.minecraft.client.gui.screens.Screen m_7856_()V @@ -36,4 +34,13 @@ public net.minecraft.client.gui.screens.Screen tooltipStack public net.minecraft.client.renderer.RenderType m_173209_(Ljava/lang/String;Lcom/mojang/blaze3d/vertex/VertexFormat;Lcom/mojang/blaze3d/vertex/VertexFormat$Mode;ILnet/minecraft/client/renderer/RenderType$CompositeState;)Lnet/minecraft/client/renderer/RenderType$CompositeRenderType; public net.minecraft.client.renderer.RenderType$OutlineProperty public net.minecraft.client.renderer.RenderType$CompositeState -public net.minecraft.tags.TagEntry f_215914_ # tag \ No newline at end of file +public net.minecraft.tags.TagEntry f_215914_ # tag +public net.minecraft.tags.TagEntry f_215913_ # id +public net.minecraft.world.item.crafting.LegacyUpgradeRecipe f_265911_ # base +public net.minecraft.world.item.crafting.LegacyUpgradeRecipe f_265910_ # addition +public net.minecraft.world.item.crafting.SmithingTransformRecipe f_265949_ # template +public net.minecraft.world.item.crafting.SmithingTransformRecipe f_265888_ # base +public net.minecraft.world.item.crafting.SmithingTransformRecipe f_265907_ # addition +public net.minecraft.world.item.crafting.SmithingTrimRecipe f_265958_ # template +public net.minecraft.world.item.crafting.SmithingTrimRecipe f_266040_ # base +public net.minecraft.world.item.crafting.SmithingTrimRecipe f_266053_ # addition \ No newline at end of file diff --git a/forge/src/main/resources/META-INF/mods.toml b/forge/src/main/resources/META-INF/mods.toml index a21cc9c0b..e8b704a68 100644 --- a/forge/src/main/resources/META-INF/mods.toml +++ b/forge/src/main/resources/META-INF/mods.toml @@ -16,20 +16,20 @@ To allow players to view items and recipes. [[dependencies.roughlyenoughitems]] modId = "architectury" mandatory = true -versionRange = "[5.7,)" +versionRange = "[8,)" ordering = "NONE" side = "BOTH" [[dependencies.roughlyenoughitems]] modId = "cloth_config" mandatory = true -versionRange = "[7.0,)" +versionRange = "[10.0,)" ordering = "NONE" side = "BOTH" [[dependencies.roughlyenoughitems]] modId = "forge" mandatory = true -versionRange = "[41.0.64,)" +versionRange = "[45.0.0,)" ordering = "NONE" side = "BOTH" diff --git a/gradle.properties b/gradle.properties index 3f3b80b2e..4f19c62d9 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,14 +1,14 @@ org.gradle.jvmargs=-Xmx6G base_version=11.0 unstable=false -supported_version=1.19.4-pre3 -minecraft_version=1.19.4-pre3 -forgeEnabled=false -forge_version=44.0.0 +supported_version=1.19.4 +minecraft_version=1.19.4 +forgeEnabled=true +forge_version=45.0.6 fabricloader_version=0.14.17 -cloth_config_version=10.0.95 +cloth_config_version=10.0.96 modmenu_version=5.0.1 -fabric_api=0.75.2+1.19.4 -architectury_version=8.1.72 +fabric_api=0.76.0+1.19.4 +architectury_version=8.1.73 api_exculde= #api_include=me.shedaniel.cloth:cloth-events,me.shedaniel.cloth:config-2,me.sargunvohra.mcmods:autoconfig1u,org.jetbrains:annotations,net.fabricmc.fabric-api:fabric diff --git a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java index 8f44477cc..f27b30c15 100644 --- a/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java +++ b/runtime/src/main/java/me/shedaniel/rei/plugin/client/entry/ItemEntryDefinition.java @@ -66,6 +66,7 @@ import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemDisplayContext; import net.minecraft.world.item.ItemStack; import org.jetbrains.annotations.Nullable; +import org.joml.Matrix4f; import java.util.List; import java.util.Optional; @@ -248,7 +249,8 @@ public class ItemEntryDefinition implements EntryDefinition, EntrySer @Override public BakedModel getExtraData(EntryStack entry) { - return Minecraft.getInstance().getItemRenderer().getModel(entry.getValue(), null, null, 0); + Minecraft minecraft = Minecraft.getInstance(); + return minecraft.getItemRenderer().getModel(entry.getValue(), minecraft.level, minecraft.player, 0); } @Override @@ -258,20 +260,14 @@ public class ItemEntryDefinition implements EntryDefinition, EntrySer if (!entry.isEmpty()) { ItemStack value = entry.getValue(); matrices.pushPose(); - matrices.mulPoseMatrix(RenderSystem.getModelViewMatrix()); matrices.translate(bounds.getCenterX(), bounds.getCenterY(), entry.getZ()); - matrices.scale(bounds.getWidth(), (bounds.getWidth() + bounds.getHeight()) / -2f, 1.0F); - PoseStack modelViewStack = RenderSystem.getModelViewStack(); - modelViewStack.pushPose(); - modelViewStack.last().pose().set(matrices.last().pose()); - RenderSystem.applyModelViewMatrix(); + matrices.mulPoseMatrix(new Matrix4f().scaling(1.0F, -1.0F, 1.0F)); + matrices.scale(bounds.getWidth(), bounds.getHeight(), (bounds.getWidth() + bounds.getHeight()) / 2.0F); MultiBufferSource.BufferSource immediate = Minecraft.getInstance().renderBuffers().bufferSource(); - Minecraft.getInstance().getItemRenderer().render(value, ItemDisplayContext.GUI, false, new PoseStack(), immediate, + Minecraft.getInstance().getItemRenderer().render(value, ItemDisplayContext.GUI, false, matrices, immediate, ITEM_LIGHT, OverlayTexture.NO_OVERLAY, model); immediate.endBatch(); matrices.popPose(); - modelViewStack.popPose(); - RenderSystem.applyModelViewMatrix(); } PoseStack modelViewStack = RenderSystem.getModelViewStack(); modelViewStack.pushPose(); diff --git a/settings.gradle b/settings.gradle index 857bbede0..937a949bf 100755 --- a/settings.gradle +++ b/settings.gradle @@ -13,4 +13,4 @@ include "api" include "default-plugin" include "runtime" include "fabric" -//include "forge" +include "forge" -- cgit