diff --git a/src/main/java/com/gtnewhorizons/angelica/transform/BlockTransformer.java b/src/main/java/com/gtnewhorizons/angelica/transform/BlockTransformer.java index 372b3ea93..6504288a2 100644 --- a/src/main/java/com/gtnewhorizons/angelica/transform/BlockTransformer.java +++ b/src/main/java/com/gtnewhorizons/angelica/transform/BlockTransformer.java @@ -31,6 +31,10 @@ public class BlockTransformer implements IClassTransformer { return AngelicaTweaker.isObfEnv() ? srgMapping : mcpMapping; } + public static String getClearFieldName(String name) { + return AngelicaTweaker.isObfEnv() ? mcpMapping.get(srgMapping.indexOf(name)) : name; + } + /** * Delete the global vanilla bounding box fields off the Block object. {@link RedirectorTransformer} * replaces these with a thread-safe alternative. diff --git a/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java b/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java index b955f0488..5c4318e08 100644 --- a/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java +++ b/src/main/java/com/gtnewhorizons/angelica/transform/RedirectorTransformer.java @@ -387,7 +387,7 @@ public class RedirectorTransformer implements IClassTransformer { AngelicaTweaker.LOGGER.info("Redirecting Block.{} in {} to thread-safe wrapper", fNode.name, transformedName); } // Perform the redirect - fNode.name = fieldToRedirect; + fNode.name = BlockTransformer.getClearFieldName(fieldToRedirect); fNode.owner = ThreadedBlockData; // Inject getter before the field access, to turn Block -> ThreadedBlockData final MethodInsnNode getter = new MethodInsnNode(Opcodes.INVOKESTATIC, ThreadedBlockData, "get", "(L" + BlockClass + ";)L" + ThreadedBlockData + ";", false);