ChunkRenderWorkerTransformer.java 文件源码

java
阅读 21 收藏 0 点赞 0 评论 0

项目:BlockSystems 作者:
@Override
public boolean transform(ClassNode classNode, String transformedName) {
    boolean transformed = false;
    MethodNode processTask = this.getMethod(classNode, "processTask", ChunkCompileTaskGenerator.class, void.class);
    if (processTask != null) {
        Instruction instruction = this.instruction()
                .var(ALOAD, 1)
                .var(ALOAD, 2)
                .method(INVOKESTATIC, BlockSystemHooks.class, "chunkWorkerGetPosition", ChunkCompileTaskGenerator.class, BlockPos.class, BlockPos.class)
                .var(ASTORE, 2);
        this.insertAfter(processTask, node -> node.getOpcode() == ASTORE && ((VarInsnNode) node).var == 2, instruction.build(), false);
        transformed = true;
    }
    return transformed;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号