The universally-compatible ultra-light mod loader.

Overview

NilLoader

NilLoader (ØL or 0L) is a minimal, easy-to-install, application-independent system for applying runtime patches to programs written in Java, compatible with any launcher that allows you to modify JVM arguments.

It's based on the native Java agent system, but provides a comprehensive and convenient API for defining class patches and entrypoints on top of it. It additionally provides a system for working with obfuscated environments, without forcing you to write code using obfuscated names. (Note that NilLoader does not provide a "high-level" bytecode patching system like Mixin; you have to write raw bytecode patches using Mini or ASM directly.)

A NilLoader mod includes a complete copy of NilLoader within itself, allowing a NilLoader mod to be used directly as a Java agent. However, you can also load NilLoader alone as a Java agent, and it will discover NilLoader-compatible jars in a subdirectory called mods, or nilmods if another loader is being layered with NilLoader and is confused by the presence of NilLoader jars in its mods directory. Copies of NilLoader contained in these mods will be ignored by the class loader, avoiding version conflicts.

NilLoader + Minecraft

NilLoader was primarily designed for Minecraft, like a lot of Java bytecode patching frameworks. In a Minecraft environment, it is compatible with all current and past loaders, and can patch any version of the game from Cave Game Test to the latest snapshot. However, since NilLoader is so generic, it does not come with many conveniences that other loaders do, such as intermediate mappings, cross-version compatibility, or any API of any kind. NilLoader lets you do two things: patch classes, and get told when the JVM starts before anything else has run.

However, given these two possibilities, you can do just about anything else you want. Note that NilLoader is not a replacement for Fabric or Forge, it is an additional option for supporting weird versions or doing things the other loaders won't let you do. Someone could very well build an entire API on top of NilLoader, but that someone will not be me, and it's not something I intend to have happen.

NilLoader has its origins in the cross-version patching framework created for Ears, used for its ports to Beta 1.7, early versions of Forge, NFC, etc. That is, more or less, its intended purpose.

Using NilLoader

More comprehensive docs coming soon, but for now, check out NilExample to write mods, and use this PolyMC component JSON to install it. (Click "Add Empty" under versions, enter "NilLoader" and "com.unascribed.nilloader", then click Edit on the right, and replace the contents of the file it opens with that JSON.)

For other launchers, download the latest NilLoader from releases, put it in your .minecraft, rename it to NilLoader.jar, and add -javaagent:NilLoader.jar to your JVM arguments.

You might also like...

A small mod to improve support for architectures and libraries officially unsupported by Minecraft. Mainly targeting Apple Macs using arm processors.

fabric-loom-native-support A small mod to improve support for architectures and libraries officially unsupported by Minecraft. Mainly targeting Apple

Oct 17, 2022

Aliucord - Discord Android app mod inspired by desktop Discord client mods.

Aliucord Aliucord is a modification for the Android Discord app inspired by desktop client modifications. Unlike other Android Discord app modificatio

Dec 31, 2022

An experimental mod that converts some block entities to blockstates. This is done for performance & functionality reasons.

An experimental mod that converts some block entities to blockstates. This is done for performance & functionality reasons.

BetterBlockStates An experimental mod that converts some block entities to blockstates. This is done for performance & functionality reasons. Current

Sep 17, 2022

Allows acquiring of vanilla/mod assets at runtime instead of including them in builds potentially violating licenses

AssetMover Allows acquiring of vanilla/mod assets at runtime instead of including them in builds potentially violating licenses. Features: Downloading

Nov 26, 2022

A cross-platform Mod for the popular Minecraft project, where the border always has a radius equal to the player's current experience level.

A cross-platform Mod for the popular Minecraft project, where the border always has a radius equal to the player's current experience level.

Level = Border A cross-platform Mod for the popular Minecraft project, where the border always has a radius equal to the player's current experience l

Nov 22, 2022

Simple Minecraft mod that makes it easy to put horses in boats.

Simple Minecraft mod that makes it easy to put horses in boats.

HorseInBoat What does this mod do? This mod makes it much easier to put horses into boats. This mod also changes the hitbox of horses in boats, this i

Dec 20, 2022

Buried Barrels is a simple vanilla+ mod that generates hidden barrels throughout the world.

Buried Barrels is a simple vanilla+ mod that generates hidden barrels throughout the world. Special maps leading to these treasures can be found on mo

Apr 7, 2022

Example Mod for setting up Architectury mods.

Architectury Example Mod Example Mod for setting up Architectury mods. You might want to visit Architectury Templates instead, for easier set-up and m

Apr 28, 2022

A mod that adds a /btellraw command which provides several enhancement over vanilla's tellraw.

Better Tellraw A mod that adds a /btellraw command which provides several enhancement over vanilla's tellraw. This mod only affects the server-side en

Jun 8, 2022
Releases(1.2.2)
Owner
Una
Running servers since 2009 and no one knows why. Obsessed with the past. Known to make modifications for a game about cubes at times. 󠁳󠁨󠁥󠀯󠁩󠁴󠀯󠁴󠁨󠁥󠁹
Una
[WIP] Device Tree for Redmi K30 Ultra

A buildable device tree for the Redmi K30 Ultra (codenamed "cezanne") written by beginners, borrowing a lot from the RMX3031, chopin, atom and the ori

coolscode 23 Dec 9, 2022
A Minecraft Mod Loader built as a fun project.

BrassLoader What is BrassLoader? BrassLoader is The next generation of Minecraft Mod Loaders, It primarly loads mods made using our very own BrassAPI!

null 10 Aug 7, 2022
lazy-language-loader improves loading times when changing your language by only reloading the language instead of all the game resources!

lazy-language-loader lazy-language-loader improves loading times when changing your language by only reloading the language instead of all the game re

Shalom Ademuwagun 7 Sep 7, 2022
A light-weight and dynamic dependency injection framework

⚠️ This project is now part of the EE4J initiative. This repository has been archived as all activities are now happening in the corresponding Eclipse

Java EE 105 Dec 23, 2022
Light Chinese Bible is a Mobile app created by Android and SQLite.

About Light Chinese Bible Light Chinese Bible is a Mobile app created by Android and SQLite. It allows you to read the bible on your phone or devices

Pankun (Dennis) Lin 1 Feb 10, 2022
Customize your device even more by having two separate sets of wallpapers for light and dark mode.

DualWallpaper You can help me out with translations here. Customize your device even more by having two separate sets of wallpapers for light and dark

Yann 18 Dec 25, 2022
A small companion library to Mixin, designed to help you write your Mixins in a more expressive and compatible way.

MixinExtras A small companion library to Mixin, designed to help you write your Mixins in a more expressive and compatible way. More information about

null 97 Jan 7, 2023
A public, stripped down workspace of the Project Unity mod, a mega-collaboration Mindustry mod

A public, stripped down workspace of the Project Unity mod, a mega-collaboration Mindustry mod. Not intended to be played yet; this is purely for code publicity and healthy competition reasons.

Avant 137 Jan 1, 2023
A mod based off of Gnembon's AutoCrafting Mod, but better

FabricAutoCrafter A Fabric mod that adds a new Auto Crafter block This mod adds a new block, the Auto Crafter. It allows you to put items in the craft

null 8 Aug 19, 2022
Template mod to make an addon mod for Create fabric.

Create Fabric Addon Template This template mod comes pre-configured for developing an addon mod for Create on Fabric. Setup For environment setup inst

null 14 Dec 29, 2022