From 55491e14cd99c02f867d1ec7731adcd40c956951 Mon Sep 17 00:00:00 2001 From: Cassian Godsted Date: Wed, 23 Jul 2025 11:17:53 -0400 Subject: [PATCH] Port to 1.21.7 (#642) * Fix fabric.mod.json versioning (#635) Update fabric.mod.json * Fix RenderTypeRegistry.register parameters (#636) * "Port" to 1.21.7 * Missed a 1.21.6 * Adapt to OnlyIn removal NeoForge 21.7.3 has removed OnlyIn from production. This fixes the crash on startup when Architectury API is used on this version. * Update workflows We are keeping the same file name so we can continue the build numbers --------- Co-authored-by: Jeb Feng Co-authored-by: ENC_Euphony <47242104+pynickle@users.noreply.github.com> Co-authored-by: shedaniel --- .github/workflows/1.21.6_pr.yml | 2 +- .github/workflows/1.21.6_push.yml | 2 +- .../client/rendering/RenderTypeRegistry.java | 6 ++--- fabric/src/main/resources/fabric.mod.json | 2 +- gradle.properties | 8 +++--- neoforge/build.gradle | 2 +- .../forge/ClientExtensionsRegistryImpl.java | 2 +- .../networking/forge/NetworkManagerImpl.java | 24 +++-------------- .../client/ClientNetworkManagerImpl.java | 26 +++++++++++++++++++ 9 files changed, 41 insertions(+), 33 deletions(-) create mode 100644 neoforge/src/main/java/dev/architectury/networking/forge/client/ClientNetworkManagerImpl.java diff --git a/.github/workflows/1.21.6_pr.yml b/.github/workflows/1.21.6_pr.yml index 47df6468..2b59f7dc 100644 --- a/.github/workflows/1.21.6_pr.yml +++ b/.github/workflows/1.21.6_pr.yml @@ -7,7 +7,7 @@ on: - '**.properties' - '**/src/**' branches: - - "1.21.6" + - "1.21.7" types: [ opened, synchronize, reopened ] jobs: validate-gradle: diff --git a/.github/workflows/1.21.6_push.yml b/.github/workflows/1.21.6_push.yml index 85dbd908..2cda5f8c 100644 --- a/.github/workflows/1.21.6_push.yml +++ b/.github/workflows/1.21.6_push.yml @@ -8,7 +8,7 @@ on: - '**/src/**' - '.github/**' branches: - - "1.21.6" + - "1.21.7" workflow_dispatch: inputs: norelease: diff --git a/common/src/main/java/dev/architectury/registry/client/rendering/RenderTypeRegistry.java b/common/src/main/java/dev/architectury/registry/client/rendering/RenderTypeRegistry.java index af279c04..dbec5921 100644 --- a/common/src/main/java/dev/architectury/registry/client/rendering/RenderTypeRegistry.java +++ b/common/src/main/java/dev/architectury/registry/client/rendering/RenderTypeRegistry.java @@ -22,7 +22,7 @@ package dev.architectury.registry.client.rendering; import dev.architectury.injectables.annotations.ExpectPlatform; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.client.renderer.RenderType; +import net.minecraft.client.renderer.chunk.ChunkSectionLayer; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.material.Fluid; @@ -32,12 +32,12 @@ public final class RenderTypeRegistry { } @ExpectPlatform - public static void register(RenderType type, Block... blocks) { + public static void register(ChunkSectionLayer type, Block... blocks) { throw new AssertionError(); } @ExpectPlatform - public static void register(RenderType type, Fluid... fluids) { + public static void register(ChunkSectionLayer type, Fluid... fluids) { throw new AssertionError(); } } diff --git a/fabric/src/main/resources/fabric.mod.json b/fabric/src/main/resources/fabric.mod.json index 2750e3f2..fd07c97a 100644 --- a/fabric/src/main/resources/fabric.mod.json +++ b/fabric/src/main/resources/fabric.mod.json @@ -34,7 +34,7 @@ }, "icon": "icon.png", "depends": { - "minecraft": "~1.21.6~", + "minecraft": "~1.21.7", "fabricloader": ">=0.15.4", "fabric-api": ">=0.127.0" }, diff --git a/gradle.properties b/gradle.properties index 0457e97b..7e069fd6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,8 +3,8 @@ org.gradle.daemon=false platforms=fabric,neoforge -minecraft_version=1.21.6 -supported_version=1.21.6 +minecraft_version=1.21.7 +supported_version=1.21.7 artifact_type=release @@ -15,11 +15,11 @@ maven_group=dev.architectury version_suffix= fabric_loader_version=0.16.14 -fabric_api_version=0.127.0+1.21.6 +fabric_api_version=0.128.1+1.21.7 mod_menu_version=15.0.0-beta.1 forge_version=51.0.0 -neoforge_version=21.6.4-beta +neoforge_version=21.7.3-beta # Set to empty if not snapshots neoforge_pr= diff --git a/neoforge/build.gradle b/neoforge/build.gradle index eef4977e..e8215e46 100644 --- a/neoforge/build.gradle +++ b/neoforge/build.gradle @@ -121,7 +121,7 @@ unifiedPublishing { displayName = "[NeoForge $rootProject.supported_version] v$project.version" releaseType = "$rootProject.artifact_type" changelog = releaseChangelog() - gameVersions = ["1.21.6"] + gameVersions = ["1.21.7"] gameLoaders = ["neoforge"] mainPublication renameJarForPublication diff --git a/neoforge/src/main/java/dev/architectury/hooks/client/forge/ClientExtensionsRegistryImpl.java b/neoforge/src/main/java/dev/architectury/hooks/client/forge/ClientExtensionsRegistryImpl.java index 7761ad1e..4b0ce8ea 100644 --- a/neoforge/src/main/java/dev/architectury/hooks/client/forge/ClientExtensionsRegistryImpl.java +++ b/neoforge/src/main/java/dev/architectury/hooks/client/forge/ClientExtensionsRegistryImpl.java @@ -30,7 +30,7 @@ import java.util.ArrayList; import java.util.List; import java.util.function.Consumer; -@EventBusSubscriber(modid = ArchitecturyConstants.MOD_ID, bus = EventBusSubscriber.Bus.MOD, value = Dist.CLIENT) +@EventBusSubscriber(modid = ArchitecturyConstants.MOD_ID, value = Dist.CLIENT) public class ClientExtensionsRegistryImpl { private static final List> CALLBACKS = new ArrayList<>(); private static boolean called = false; diff --git a/neoforge/src/main/java/dev/architectury/networking/forge/NetworkManagerImpl.java b/neoforge/src/main/java/dev/architectury/networking/forge/NetworkManagerImpl.java index 3335481c..42413a44 100644 --- a/neoforge/src/main/java/dev/architectury/networking/forge/NetworkManagerImpl.java +++ b/neoforge/src/main/java/dev/architectury/networking/forge/NetworkManagerImpl.java @@ -30,7 +30,6 @@ import dev.architectury.utils.ArchitecturyConstants; import dev.architectury.utils.Env; import net.minecraft.client.Minecraft; import net.minecraft.core.RegistryAccess; -import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.network.RegistryFriendlyByteBuf; import net.minecraft.network.codec.StreamCodec; import net.minecraft.network.protocol.Packet; @@ -49,6 +48,9 @@ import net.neoforged.neoforge.network.event.RegisterPayloadHandlersEvent; import net.neoforged.neoforge.network.handling.IPayloadContext; import org.slf4j.Logger; +import static dev.architectury.networking.forge.client.ClientNetworkManagerImpl.getClientPlayer; +import static dev.architectury.networking.forge.client.ClientNetworkManagerImpl.getClientRegistryAccess; + public class NetworkManagerImpl { private static final Logger LOGGER = LogUtils.getLogger(); @@ -134,24 +136,4 @@ public class NetworkManagerImpl { public static Packet createAddEntityPacket(Entity entity, ServerEntity serverEntity) { return SpawnEntityPacket.create(entity, serverEntity); } - - @OnlyIn(Dist.CLIENT) - public static Player getClientPlayer() { - return Minecraft.getInstance().player; - } - - @OnlyIn(Dist.CLIENT) - public static RegistryAccess getClientRegistryAccess() { - if (Minecraft.getInstance().level != null) { - return Minecraft.getInstance().level.registryAccess(); - } else if (Minecraft.getInstance().getConnection() != null) { - return Minecraft.getInstance().getConnection().registryAccess(); - } else if (Minecraft.getInstance().gameMode != null) { - // Sometimes the packet is sent way too fast and is between the connection and the level, better safe than sorry - return Minecraft.getInstance().gameMode.connection.registryAccess(); - } - - // Fail-safe - return RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY); - } } diff --git a/neoforge/src/main/java/dev/architectury/networking/forge/client/ClientNetworkManagerImpl.java b/neoforge/src/main/java/dev/architectury/networking/forge/client/ClientNetworkManagerImpl.java new file mode 100644 index 00000000..a0bc02f3 --- /dev/null +++ b/neoforge/src/main/java/dev/architectury/networking/forge/client/ClientNetworkManagerImpl.java @@ -0,0 +1,26 @@ +package dev.architectury.networking.forge.client; + +import net.minecraft.client.Minecraft; +import net.minecraft.core.RegistryAccess; +import net.minecraft.core.registries.BuiltInRegistries; +import net.minecraft.world.entity.player.Player; + +public class ClientNetworkManagerImpl { + public static Player getClientPlayer() { + return Minecraft.getInstance().player; + } + + public static RegistryAccess getClientRegistryAccess() { + if (Minecraft.getInstance().level != null) { + return Minecraft.getInstance().level.registryAccess(); + } else if (Minecraft.getInstance().getConnection() != null) { + return Minecraft.getInstance().getConnection().registryAccess(); + } else if (Minecraft.getInstance().gameMode != null) { + // Sometimes the packet is sent way too fast and is between the connection and the level, better safe than sorry + return Minecraft.getInstance().gameMode.connection.registryAccess(); + } + + // Fail-safe + return RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY); + } +}