Interface Injection (#496)

* Added interface injection via fabric.mod.json.

* Added interface injection

* Added amending of class signature with injected interface.
This commit is contained in:
shartte
2022-01-04 19:15:21 +01:00
committed by GitHub
parent 03d3950d11
commit ccfe12eb17
9 changed files with 422 additions and 0 deletions

View File

@@ -63,6 +63,7 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
protected final Property<Boolean> setupRemappedVariants;
protected final Property<Boolean> transitiveAccessWideners;
protected final Property<String> intermediary;
protected final Property<Boolean> enableInterfaceInjection;
private final ModVersionParser versionParser;
@@ -88,6 +89,9 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
this.transitiveAccessWideners.finalizeValueOnRead();
this.intermediary = project.getObjects().property(String.class)
.convention("https://maven.fabricmc.net/net/fabricmc/intermediary/%1$s/intermediary-%1$s-v2.jar");
this.enableInterfaceInjection = project.getObjects().property(Boolean.class)
.convention(true);
this.enableInterfaceInjection.finalizeValueOnRead();
this.versionParser = new ModVersionParser(project);
@@ -181,6 +185,11 @@ public abstract class LoomGradleExtensionApiImpl implements LoomGradleExtensionA
return intermediary;
}
@Override
public Property<Boolean> getEnableInterfaceInjection() {
return enableInterfaceInjection;
}
@Override
public void disableDeprecatedPomGeneration(MavenPublication publication) {
net.fabricmc.loom.configuration.MavenPublication.excludePublication(publication);