https://github.com/minecraftforge/facade
A tool to add interfaces to java classes
https://github.com/minecraftforge/facade
Last synced: about 2 months ago
JSON representation
A tool to add interfaces to java classes
- Host: GitHub
- URL: https://github.com/minecraftforge/facade
- Owner: MinecraftForge
- License: lgpl-2.1
- Created: 2026-03-25T20:14:07.000Z (3 months ago)
- Default Branch: master
- Last Pushed: 2026-04-19T20:20:54.000Z (about 2 months ago)
- Last Synced: 2026-04-19T22:10:54.157Z (about 2 months ago)
- Language: Java
- Size: 63.5 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Facade
A simple tool that injects interfaces into a jar file.
This is meant to be a build time tool to transform dependencies adding new interfaces.
Allowing your code to compile against the injected code as if it was a normal dependency.
This uses the ClassFile API and so needs java 25+
## Usage
```shell
java -jar facade.jar --input dependency.jar --output patched.jar --config interfaces.cfg
```
## Gradle
Currently there is no gradle demo/plugin for this, as the intended use is through [ForgeGradle][ForgeGradle] and [Mavenzier][Mavenizer].
> [!WARNING]
> **There is no public API for this tool!** This is designed to solely be a CLI tool, which means that all of the implementations are internal. We reserve the right to change the internal implementation at any time.
[ForgeGradle]: https://github.com/MinecraftForge/ForgeGradle
[Mavenizer]: https://github.com/MinecraftForge/MinecraftMavenizer