Unofficial site, not affiliated with modrinth.com.What is this?
Моды/SuperAccessTransformer

English

SuperAccessTransformer (SAT) is an open-source coremod for Minecraft 1.21+ that modifies access modifiers at runtime by injecting a Java Agent, converting most private, protected, and final members to public. It also includes a Gradle plugin, allowing the transformations to work in development environments without extra JVM arguments.

Core Functionality

Runtime Bytecode Transformation: Uses the java.lang.instrument API along with the ASM library to intercept class loading and modify bytecode. The transformation:

  • Removes private, protected, and final modifiers from fields and adds public

  • Removes private, protected, and final modifiers from methods (except <clinit>) and adds public

  • Skips interfaces and enum $VALUES fields

Development Environment Support

Gradle Plugin Integration: Add the SAT Gradle plugin to your project to enable transformation at development time. The plugin is compatible with both Fabric and NeoForge modules.

buildscript {
    dependencies {
        classpath 'io.github.yiyuyan:SuperAccessTransformerPlugin:1.000'
    }
}
apply plugin: 'io.github.yiyuyan.sat-plugin'

You can also find an example setup for Architectury NeoForge 1.21 at the test branch: yiyuyan/SuperAccessTransformer (test)

Known Limitations & Notes

  • Fabric Loader Dev Environment: Mob::rotlerp and WitherBoss::rotlerp methods will not be transformed.

  • NeoForge Mod List: As a coremod using the lowcodefml loader, SAT does not appear in the NeoForge mod list.

简体中文

SuperAccessTransformer(SAT)是一个面向 Minecraft 1.21+ 的开源 coremod,通过在运行时注入 Java Agent,将大多数 privateprotectedfinal 修饰符转换为 public。该模组还提供 Gradle 插件,使得转换在开发环境中也能直接生效,无需额外 JVM 参数。

核心功能

运行时字节码转换:利用 java.lang.instrument API 与 ASM 库拦截类加载过程并修改字节码。转换规则如下:

  • 移除字段的 privateprotectedfinal 修饰符,并添加 public

  • 移除方法(<clinit> 除外)的 privateprotectedfinal 修饰符,并添加 public

  • 跳过接口和枚举的 $VALUES 字段

开发环境支持

通过 Gradle 插件可在开发环境中启用运行时转换,同时适用于 Fabric 与 NeoForge 模块.

buildscript {
    dependencies {
        classpath 'io.github.yiyuyan:SuperAccessTransformerPlugin:1.000'
    }
}
apply plugin: 'io.github.yiyuyan.sat-plugin'

你也可以参考针对 Architectury NeoForge 1.21 的示例项目:yiyuyan/SuperAccessTransformer at test

已知限制与提示

  • Fabric Loader 开发环境Mob::rotlerpWitherBoss::rotlerp 这两个方法不会被转换。

  • NeoForge 模组列表:该模组基于 lowcodefml 加载器,作为 coremod 不会出现在 NeoForge 模组列表中。

Совместимость

Minecraft: Java Edition

Платформы

Поддерживаемые окружения

Клиент и сервер

Сведения

Лицензия:MIT
Опубликован:1 неделю назад
Обновлён:1 неделю назад
ID проекта:
Главная