From 3d3d0f9e18dc73d606f6a43913e66b950e8e1af0 Mon Sep 17 00:00:00 2001 From: Jason Mitchell Date: Sun, 11 Oct 2026 09:27:53 -0700 Subject: [PATCH] Angelica side fix to RC Lantern rendering. Works with or without a patched RC (#2251) --- .../gtnewhorizons/angelica/mixins/Mixins.java | 6 +++++ .../angelica/mixins/TargetedMod.java | 1 + .../railcraft/MixinRenderBlockLamp.java | 22 +++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/railcraft/MixinRenderBlockLamp.java diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java b/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java index 1a43d4a71..040021d77 100644 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java +++ b/src/main/java/com/gtnewhorizons/angelica/mixins/Mixins.java @@ -85,6 +85,12 @@ public enum Mixins implements IMixins { .addClientMixins("client.starminer.MixinTransformClientHelper") ), + RAILCRAFT_LANTERN_CONNECTIONS(new MixinBuilder("Fix Railcraft lanterns rendering with Angelica") + .setPhase(Phase.LATE) + .addRequiredMod(TargetedMod.RAILCRAFT) + .addClientMixins("client.railcraft.MixinRenderBlockLamp") + ), + ANGELICA_ENTITY_OVERLAYS(new MixinBuilder() .setPhase(Phase.EARLY) .setApplyIf(() -> AngelicaConfig.entityOverlayFixes) diff --git a/src/main/java/com/gtnewhorizons/angelica/mixins/TargetedMod.java b/src/main/java/com/gtnewhorizons/angelica/mixins/TargetedMod.java index cffb2b39d..9d220d568 100644 --- a/src/main/java/com/gtnewhorizons/angelica/mixins/TargetedMod.java +++ b/src/main/java/com/gtnewhorizons/angelica/mixins/TargetedMod.java @@ -27,6 +27,7 @@ public enum TargetedMod implements ITargetMod { IC2("ic2.core.coremod.IC2core", "IC2"), NATURA(null, "Natura"), OPENBLOCKS(null, "OpenBlocks"), + RAILCRAFT(null, "Railcraft"), SECURITYCRAFT(null, "securitycraft"), STARMINER("jp.mc.ancientred.starminer.core.SMPlugin", "modJ_StarMiner"), SUPERNOVA("com.mitchej123.supernova.core.SupernovaCore", "supernova"), diff --git a/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/railcraft/MixinRenderBlockLamp.java b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/railcraft/MixinRenderBlockLamp.java new file mode 100644 index 000000000..fe896775a --- /dev/null +++ b/src/mixin/java/com/gtnewhorizons/angelica/mixins/late/client/railcraft/MixinRenderBlockLamp.java @@ -0,0 +1,22 @@ +package com.gtnewhorizons.angelica.mixins.late.client.railcraft; + +import net.minecraft.world.ChunkCache; + +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.Pseudo; +import org.spongepowered.asm.mixin.injection.Constant; +import org.spongepowered.asm.mixin.injection.ModifyConstant; + +@Pseudo +@Mixin(targets = "mods.railcraft.client.render.RenderBlockLamp", remap = false) +public class MixinRenderBlockLamp { + + @ModifyConstant( + method = "canConnect(Lnet/minecraft/world/IBlockAccess;IIILnet/minecraftforge/common/util/ForgeDirection;)Z", + constant = @Constant(classValue = ChunkCache.class), + require = 0, + expect = 0) + private boolean angelica$acceptAnyBlockAccess(Object world, Class type) { + return true; + } +}