Перейти к содержимому

Plugin ASM 0.1.0-alpha1 для Minecraft 1.21.11 (Java Agent)

Альфа13 февраля 2026Minecraft 1.20.5–1.21.11Java Agent36 скачиваний на Modrinth
Это не последняя версия. Последняя для 1.21.11 · Java Agent — 0.1.0-alpha3Открыть 0.1.0-alpha3 →
Тестовая версия — возможны ошибки.

Файлы · 1

pasm-1.0-SNAPSHOT.jarОсновной596 КБСкачать
Основной · 596 КБ
SHA-1a715cfd1e7c04ab05d37540b004aabf2fa3e58afSHA-512a45ef66e22c7bf6bcf0acc1685c83cd35e1e826d72996ae32f297c84a96d241b23ac6805391f9e517e302f26435309f803db05b375c8f562b6f6d7d1d1638e71
Скачать

Что изменилось

🚀 PASM v0.1.0-alpha1

PASM(Plugin ASM) 是一个轻量级、Mixin 风格的字节码注入框架,专为 Paper/Bukkit 服务端设计。这是 PASM 的首个公开预览版本,核心功能已稳定,欢迎社区试用反馈。


✨ 核心特性
  • 声明式注入 –仅需 @Pasm + @Inject 注解,零字节码基础即可修改目标方法。

  • 完整注入类型 –BEFORE / AFTER / REPLACE / HEAD / TAIL 全部可用,覆盖绝大多数增强场景。

  • 构造函数支持 –可对 `方法进行HEAD注入,自动在super()` 后插入。

  • 异常处理兼容 –完美保留 try-catch-finally 结构,注入后异常表不丢失。

  • 宽类型自动偏移 –long / double 参数在静态→非静态注入时自动计算双槽位偏移,无需手动配置。

  • REPLACE 独占语义 –同一方法的多个注入点若包含 REPLACE,仅执行优先级最高的 REPLACE,其余自动跳过,避免冲突。

  • ASM 处理器扩展 –通过 pasm.json 的 asms 字段注册自定义处理器,在 beforeInject / afterInject 生命周期执行任意字节码增强,支持优先级排序。

  • 热加载支持(实验性) –提供 reloadPlugins() 接口,可运行时重新扫描插件并重新注入,适合开发调试。

📦 系统兼容性
  • Java 8~25 –框架自身完全兼容,已在 Java 8、11、17、21完成测试。

  • Paper 1.16.5~1.21+ –实际运行版本取决于服务端要求,最低支持 Java 8(配合 Paper 1.16.5)。

  • ASM 9.x + Gson 2.10 –内置依赖,无外部冲突风险。

⚠️ 已知限制
  • AROUND 注入暂未实现,使用时会降级为 REPLACE 并输出警告。

  • 热加载功能尚不稳定,频繁重载可能导致类冲突,不建议在生产环境高频使用。

  • ASM 处理器钩子(asms)为预览特性,API 可能在未来调整。

📥 快速开始
  1. 下载 pasm-0.1.0-alpha1.jar 放置于服务端根目录。

  2. 启动参数添加 -javaagent:pasm-0.1.0-alpha1.jar[=debug]。

  3. 在插件 JAR 的 src/main/resources/pasm.json 中声明注入类。

  4. 编写带 @Pasm 和 @Inject 注解的静态方法,打包后放入 plugins/ 目录。

  5. 启动服务端,框架将自动扫描并完成注入。

详细使用示例请参阅 README。


🙏 致谢

感谢所有在开发过程中提供反馈与测试的朋友,特别感谢 PaperMC 社区对字节码操作技术的无私分享。


PASM 仍处于早期阶段,欢迎提交 Issue 或 Pull Request。 GitHub 仓库 | 问题反馈

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее