Loading...
Beta Modpages Unclaimed

Grimoire API

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

0 Likes
4523 Downloads
Created by Aizistral

Description

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.

 
Discord Badge 


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:

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.


AD Become Premium to remove Ads!

What means Verified?

  • Compatibility: The mod should be compatible with the latest version of Minecraft and be clearly labeled with its supported versions.
  • Functionality: The mod should work as advertised and not cause any game-breaking bugs or crashes.
  • Security: The mod should not contain any malicious code or attempts to steal personal information.
  • Performance: The mod should not cause a significant decrease in the game's performance, such as by causing lag or reducing frame rates.
  • Originality: The mod should be original and not a copy of someone else's work.
  • Up-to-date: The mod should be regularly updated to fix bugs, improve performance, and maintain compatibility with the latest version of Minecraft.
  • Support: The mod should have an active developer who provides support and troubleshooting assistance to users.
  • License: The mod should be released under a clear and open source license that allows others to use, modify, and redistribute the code.
  • Documentation: The mod should come with clear and detailed documentation on how to install and use it.

AD Become Premium to remove Ads!

How to Install

1

Download Forge & Java

Download Forge from the offical Site or here. If you dont have Java installed then install it now from here. After Downloading Forge you can run the file with Java.

2

Prepare

Lounch Minecraft and select your Forge istallation as Version this will create a Folder called Mods.

3

Add Mods

Type Win+R and type %appdata% and open the .minecraft Folder. There will you find your Folder called Mods. Place all Mods you want to play in this Folder

4

Enjoy

You are now Ready. Re-start your Game and start Playing.

More Mods like this

Mantle

Shared code for Forge mods

AutoRegLib

A library to ease menial tasks in mod development.

CraftTweaker

CraftTweaker allows modpacks and servers to customize the game. With CraftTweaker you can change recipes, script events, add new commands and even change item properties!

CoFH Core

Contains Core Functionality for all Team CoFH mods. Also does some really cool stuff on its own!

Patchouli

Accessible, Data-Driven, Dependency-Free Documentation for Minecraft Modders and Pack Makers

Baubles

An addon module and API for Thaumcraft