From f4ec97edc0467179c34e4db6664e63a69fbc492e Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Tue, 25 Jun 2024 12:45:33 +0200 Subject: [PATCH 1/2] fix mrtjpcore stalling builds --- repositories.gradle | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/repositories.gradle b/repositories.gradle index fa9b994..7bb06a7 100644 --- a/repositories.gradle +++ b/repositories.gradle @@ -7,13 +7,21 @@ repositories { name = "sonatype" url = "https://oss.sonatype.org/content/repositories/snapshots/" } - maven { - name "mvnmrtjp" - url "http://files.projectredwiki.com/maven" - metadataSources { - mavenPom() - artifact() + + //Not having this causes jitpack to stall builds for minutes on systems without mrtjpcore already cached + exclusiveContent { + forRepository { + maven { + name "mvnmrtjp" + url "https://files.projectredwiki.com/maven" + metadataSources { + mavenPom() + artifact() + } + } + } + filter { + includeGroup("mrtjp") } - allowInsecureProtocol } } From 1ca508baad55c488394fbc50a9b24696bea916df Mon Sep 17 00:00:00 2001 From: FalsePattern Date: Tue, 25 Jun 2024 12:45:59 +0200 Subject: [PATCH 2/2] RPLE compat hotfix --- .../org/embeddedt/archaicfix/asm/Mixin.java | 1 + .../mixins/common/core/MixinBlock.java | 10 ---------- .../mixins/common/core/MixinBlock_Late.java | 20 +++++++++++++++++++ 3 files changed, 21 insertions(+), 10 deletions(-) create mode 100644 src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock_Late.java diff --git a/src/main/java/org/embeddedt/archaicfix/asm/Mixin.java b/src/main/java/org/embeddedt/archaicfix/asm/Mixin.java index b080f04..2ce8f3d 100644 --- a/src/main/java/org/embeddedt/archaicfix/asm/Mixin.java +++ b/src/main/java/org/embeddedt/archaicfix/asm/Mixin.java @@ -30,6 +30,7 @@ public enum Mixin { common_core_MixinShapedOreRecipe(Side.COMMON, Phase.EARLY, always(), "core.MixinShapedOreRecipe"), common_core_MixinLongHashMap(Side.COMMON, Phase.EARLY, always(), "core.MixinLongHashMap"), common_core_MixinBlock(Side.COMMON, Phase.EARLY, always(), "core.MixinBlock"), + common_core_MixinBlock_Late(Side.COMMON, Phase.EARLY, always(), "core.MixinBlock_Late"), common_core_MixinEnchantmentHelper(Side.COMMON, Phase.EARLY, always(), "core.MixinEnchantmentHelper"), common_core_MixinWorldChunkManager(Side.COMMON, Phase.EARLY, always(), "core.MixinWorldChunkManager"), common_core_MixinShapedRecipes(Side.COMMON, Phase.EARLY, always(), "core.MixinShapedRecipes"), diff --git a/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock.java b/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock.java index 7677094..1813341 100644 --- a/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock.java +++ b/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock.java @@ -4,7 +4,6 @@ import cpw.mods.fml.relauncher.Side; import net.minecraft.block.Block; import net.minecraft.server.MinecraftServer; -import net.minecraft.world.IBlockAccess; import org.embeddedt.archaicfix.block.ThreadedBlockData; import org.objectweb.asm.Opcodes; import org.spongepowered.asm.mixin.Mixin; @@ -57,13 +56,4 @@ private void onConstruct(Block block, Block.SoundType sound) { } return calculated; } - - /** - * @author embeddedt - * @reason Avoid calling getBlock - */ - @Redirect(method = "getLightValue(Lnet/minecraft/world/IBlockAccess;III)I", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/IBlockAccess;getBlock(III)Lnet/minecraft/block/Block;"), require = 0) - public Block getLightValue(IBlockAccess world, int x, int y, int z) { - return (Block)(Object)this; - } } diff --git a/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock_Late.java b/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock_Late.java new file mode 100644 index 0000000..02e3dba --- /dev/null +++ b/src/main/java/org/embeddedt/archaicfix/mixins/common/core/MixinBlock_Late.java @@ -0,0 +1,20 @@ +package org.embeddedt.archaicfix.mixins.common.core; + +import net.minecraft.block.Block; +import net.minecraft.world.IBlockAccess; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; +import org.spongepowered.asm.mixin.injection.Redirect; + +//RPLE replaces getLightValue with an overwrite at priority 1000, so this redirect needs to be delayed for mixin to not crash +@Mixin(value = Block.class, priority = 2000) +public abstract class MixinBlock_Late { + /** + * @author embeddedt + * @reason Avoid calling getBlock + */ + @Redirect(method = "getLightValue(Lnet/minecraft/world/IBlockAccess;III)I", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/IBlockAccess;getBlock(III)Lnet/minecraft/block/Block;"), expect = 0, require = 0) + public Block getLightValue(IBlockAccess world, int x, int y, int z) { + return (Block)(Object)this; + } +}