Grimoire API
General-purpose Mixin loader framework, which allows to properly implement mixins on 1.7.10/1.12.2 versions of Minecraft.
介绍

In front of you lies a general-purpose Mixin loader framework, designed to serve as a way to develop and load mixins on both 1.7.10 and 1.12.2 versions of Minecraft. This is an independent continuation of Legacy Grimoire project. It also superseeds SpongeMixins for 1.7.10 as simpler and more robust solution.
For Normal Average Users:
If you’re an end user, you probably came here only because one of your mods requires Grimoire as a dependency. In that case just download latest Grimoire release for your Minecraft version, stick it in your mods folder, and you’re good to go!
For Developers:
If you’re a developer looking to employ the sacred mixin-loading techniques of almighty Grimoire in your projects… oh boy, have we got a lot in store for you. Witness, for below resides the list of the most notable features our framework currently provides:
- Embedded Sponge Mixin, which allows you to avoid shading full Mixin implementation into your mod. I certainly hope you are aware that shading it is an inherently bad practice;
- Version-independent core. Most of the Grimoire API is completely independent from Minecraft version you are using, and will work in perfectly the same way on both 1.7.10 and 1.12.2;
- Grimmix system, which serves as a way for framework implementers to declare their presence, easily handle important events and programatically communicate with other implementers if such need exists;
- Simple API that provides an option to build mixin configuration at runtime, instead of having to ship it as .json within modfile;
- Mixin configurations are divided in two main categories – those that target Minecraft/Forge, and those that target other mods. They need to be loaded at different time, since at the time of coremod loading where Minecraft-targeting configurations are applied no mods are discovered and added to the classpath yet. Grimoire takes care of loading each configuration at proper time, all you need is to use appropriate lifecycle event for registering your configuration, or properly specify ConfigurationType if you build it at runtime;
- Version-independent EventBus implementation, stripped of unnecessary ASM thingies Forge’s bus really needs for some reason, and much more friendly to being extended;
- Integrated Omniconfig API, which serves as convenient version-independent a way to create config files, either via IOmniconfigBuilder or @AnnotationConfig;
- Version-dependent EventHelper integration, which allows you to safely use EventUtils without rendering your mod utterly incompatible with singleplayer;
- Proper development environment support.
Workspace Setup:
Here are the examples of how to setup Grimoire-dependent mod workspace:
- For 1.7.10: https://github.com/Aizistral-Studios/ForgeWorkspaceSetup/tree/1.7.10-grimmix
- For 1.12.2: https://github.com/Aizistral-Studios/ForgeWorkspaceSetup/tree/1.12.2-grimmix
You can find most details over there, and even more on our Wiki. But to praise what was achieved through our hard work, I will mention once more: Grimoire has proper development environment support! Starting a client via runClient task or IDE launch configuration will have Grimoire, all dependent grimmixes and that one grimmix you might be developing yourself properly loaded. Refmap generation also works perfectly fine, so no need to target production-time obfuscated names and sacrifice compatibility with development environment.
常见问题
Grimoire API 支持哪些 Minecraft 版本?
Grimoire API 支持 Minecraft Java 版 1.7.10–1.12.2,共 2 个版本,可用的加载器:Forge。下载时注意选择和你游戏版本一致的文件。
Grimoire API 怎么安装?
先用 PCL2 或 HMCL 启动器安装对应版本的 Forge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。
Aizistral 的其他作品
查看全部 →No Chat Reports
让聊天消息无法被举报(在可行范围内)
Enigmatic Legacy
推动原版进程的魔法模组
No Chat Restrictions
为所有账户恢复游戏聊天功能
Universal Clock HUD
一款在屏幕叠加层中显示基础时钟的客户端模组
评论
登录后评论和评分