From aa2a3817ba4f79e5c3e150f53ff0acd50e92cacc Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Mon, 3 Jun 2024 18:51:49 -0400 Subject: [PATCH 1/2] Update NeoForge, work around buggy hasErrors method --- gradle.properties | 2 +- .../platform/neoforge/ModernFixPlatformHooksImpl.java | 7 ++++++- neoforge/src/main/resources/META-INF/neoforge.mods.toml | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index 896f5639..2f0e4e3b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -7,7 +7,7 @@ mixinextras_version=0.3.2 mod_id=modernfix minecraft_version=1.20.6 enabled_platforms=fabric,neoforge -forge_version=20.6.42-beta +forge_version=20.6.100-beta # parchment_version=2023.07.09 refined_storage_version=4392788 jei_version=16.0.0.28 diff --git a/neoforge/src/main/java/org/embeddedt/modernfix/platform/neoforge/ModernFixPlatformHooksImpl.java b/neoforge/src/main/java/org/embeddedt/modernfix/platform/neoforge/ModernFixPlatformHooksImpl.java index 2f95a3f4..820a40e4 100644 --- a/neoforge/src/main/java/org/embeddedt/modernfix/platform/neoforge/ModernFixPlatformHooksImpl.java +++ b/neoforge/src/main/java/org/embeddedt/modernfix/platform/neoforge/ModernFixPlatformHooksImpl.java @@ -12,6 +12,7 @@ import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.ItemStack; import net.neoforged.api.distmarker.Dist; import net.neoforged.fml.ModLoader; +import net.neoforged.fml.ModLoadingIssue; import net.neoforged.fml.loading.FMLLoader; import net.neoforged.fml.loading.FMLPaths; import net.neoforged.fml.loading.LoadingModList; @@ -71,7 +72,11 @@ public class ModernFixPlatformHooksImpl implements ModernFixPlatformHooks { } public boolean isEarlyLoadingNormally() { - return !LoadingModList.get().hasErrors(); + var issues = LoadingModList.get().getModLoadingIssues(); + if (issues.isEmpty()) { + return true; + } + return issues.stream().noneMatch(issue -> issue.severity() == ModLoadingIssue.Severity.ERROR); } public boolean isLoadingNormally() { diff --git a/neoforge/src/main/resources/META-INF/neoforge.mods.toml b/neoforge/src/main/resources/META-INF/neoforge.mods.toml index 76eb4c41..e603a9a8 100644 --- a/neoforge/src/main/resources/META-INF/neoforge.mods.toml +++ b/neoforge/src/main/resources/META-INF/neoforge.mods.toml @@ -47,7 +47,7 @@ modId = "neoforge" #mandatory # Does this dependency have to exist - if not, ordering below must be specified type = "required" #mandatory # The version range of the dependency -versionRange = "[20.6.42-beta,)" #mandatory +versionRange = "[20.6.100-beta,)" #mandatory # An ordering relationship for the dependency - BEFORE or AFTER required if the relationship is not mandatory ordering = "NONE" # Side this dependency is applied on - BOTH, CLIENT or SERVER From 03e758a037a208fb44194cb7ff9226ddb33abeaf Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Tue, 4 Jun 2024 19:39:52 -0400 Subject: [PATCH 2/2] Fix launch crash on Forge 47.3.1 --- .../ServerGamePacketListenerImplMixin.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java index 5ba643af..fe288d80 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/mixin/bugfix/forge_vehicle_packets/ServerGamePacketListenerImplMixin.java @@ -13,7 +13,7 @@ import org.spongepowered.asm.mixin.injection.Redirect; public class ServerGamePacketListenerImplMixin { @Shadow public ServerPlayer player; - @Redirect(method = "handleMoveVehicle", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerPlayer;absMoveTo(DDDFF)V")) + @Redirect(method = "handleMoveVehicle", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/level/ServerPlayer;absMoveTo(DDDFF)V"), require = 0) private void movePlayerUsingPositionRider(ServerPlayer player, double x, double y, double z, float yRot, float xRot, ServerboundMoveVehiclePacket packet) { if(player == this.player) { // use positionRider