1
0
forked from Clones/Controlify

✏️ Re-add iris support with fat-jar.

This commit is contained in:
isXander
2023-05-17 17:08:42 +01:00
parent c77f78b00e
commit e247508845
5 changed files with 44 additions and 54 deletions

View File

@ -1,5 +1,4 @@
import com.github.breadmoirai.githubreleaseplugin.GithubReleaseTask
import org.gradle.jvm.tasks.Jar
plugins {
java
@ -17,7 +16,9 @@ plugins {
}
group = "dev.isxander"
version = "1.2.0+1.19.4"
version = "1.3.0-beta.1+1.20"
val isBeta = "beta" in version.toString()
if (isBeta) println("Beta version detected.")
repositories {
mavenCentral()
@ -62,7 +63,7 @@ val minecraftVersion = libs.versions.minecraft.get()
dependencies {
minecraft(libs.minecraft)
mappings(loom.layered {
//mappings("org.quiltmc:quilt-mappings:$minecraftVersion+build.${libs.versions.quilt.mappings.get()}:intermediary-v2")
mappings("org.quiltmc:quilt-mappings:$minecraftVersion+build.${libs.versions.quilt.mappings.get()}:intermediary-v2")
officialMojangMappings()
})
modImplementation(libs.fabric.loader)
@ -107,9 +108,10 @@ dependencies {
// sodium compat
modImplementation(libs.sodium)
// iris compat
modImplementation(files("libs/iris-b7bf8745.jar"))
// modImplementation(libs.iris)
// modRuntimeOnly("org.anarres:jcpp:1.4.14")
// modRuntimeOnly("io.github.douira:glsl-transformer:2.0.0-pre9")
modRuntimeOnly("org.anarres:jcpp:1.4.14")
modRuntimeOnly("io.github.douira:glsl-transformer:2.0.0-pre13")
// immediately-fast compat
// modImplementation(libs.immediately.fast)
// modRuntimeOnly("net.lenni0451:Reflect:1.1.0")
@ -154,18 +156,6 @@ tasks {
}
}
remapJar {
archiveClassifier.set("fabric-$minecraftVersion")
}
remapSourcesJar {
archiveClassifier.set("fabric-$minecraftVersion-sources")
}
named<Jar>("javadocJar") {
archiveClassifier.set("fabric-$minecraftVersion-javadoc")
}
register("releaseMod") {
group = "mod"
@ -189,9 +179,9 @@ if (modrinthId.isNotEmpty()) {
token.set(findProperty("modrinth.token")?.toString())
projectId.set(modrinthId)
versionNumber.set("${project.version}")
versionType.set("release")
versionType.set(if (isBeta) "beta" else "release")
uploadFile.set(tasks["remapJar"])
gameVersions.set(listOf("1.19.4"))
gameVersions.set(listOf("1.20-pre2"))
loaders.set(listOf("fabric", "quilt"))
changelog.set(changelogText)
syncBodyFrom.set(file(".github/README.md").readText())
@ -208,8 +198,8 @@ if (hasProperty("curseforge.token") && curseforgeId.isNotEmpty()) {
})
id = curseforgeId
releaseType = "release"
addGameVersion("1.19.4")
releaseType = if (isBeta) "beta" else "release"
addGameVersion("1.20-Snapshot")
addGameVersion("Fabric")
addGameVersion("Java 17")
@ -231,7 +221,7 @@ githubRelease {
owner(split[0])
repo(split[1])
tagName("${project.version}")
targetCommitish("1.19.x/dev")
targetCommitish("1.20.x/dev")
body(changelogText)
releaseAssets(tasks["remapJar"].outputs.files)
}

View File

@ -9,7 +9,7 @@ grgit = "5.0.+"
blossom = "1.3.+"
minecraft = "1.20-pre2"
#quilt_mappings = "10"
quilt_mappings = "1"
fabric_loader = "0.14.19"
fabric_api = "0.81.2+1.20"
mixin_extras = "0.2.0-beta.7"

BIN
libs/iris-b7bf8745.jar Normal file

Binary file not shown.

View File

@ -1,32 +1,32 @@
package dev.isxander.controlify.mixins.compat.iris;
//import dev.isxander.controlify.compatibility.iris.BaseOptionElementComponentProcessor;
//import dev.isxander.controlify.screenop.ComponentProcessor;
//import dev.isxander.controlify.screenop.ComponentProcessorProvider;
//import net.coderbot.iris.gui.NavigationController;
//import net.coderbot.iris.gui.element.widget.BaseOptionElementWidget;
//import org.spongepowered.asm.mixin.Mixin;
//import org.spongepowered.asm.mixin.Shadow;
//import org.spongepowered.asm.mixin.Unique;
//
//@Mixin(value = BaseOptionElementWidget.class, remap = false)
//public abstract class BaseOptionElementWidgetMixin implements ComponentProcessorProvider {
// @Shadow public abstract boolean applyPreviousValue();
// @Shadow public abstract boolean applyNextValue();
//
// @Shadow protected NavigationController navigation;
// @Unique private final BaseOptionElementComponentProcessor processor
// = new BaseOptionElementComponentProcessor(this::cycle);
//
// @Override
// public ComponentProcessor componentProcessor() {
// return processor;
// }
//
// private void cycle(boolean reverse) {
// boolean needsUpdate = reverse ? applyPreviousValue() : applyNextValue();
// if (needsUpdate) {
// navigation.refresh();
// }
// }
//}
import dev.isxander.controlify.compatibility.iris.BaseOptionElementComponentProcessor;
import dev.isxander.controlify.screenop.ComponentProcessor;
import dev.isxander.controlify.screenop.ComponentProcessorProvider;
import net.coderbot.iris.gui.NavigationController;
import net.coderbot.iris.gui.element.widget.BaseOptionElementWidget;
import org.spongepowered.asm.mixin.Mixin;
import org.spongepowered.asm.mixin.Shadow;
import org.spongepowered.asm.mixin.Unique;
@Mixin(value = BaseOptionElementWidget.class, remap = false)
public abstract class BaseOptionElementWidgetMixin implements ComponentProcessorProvider {
@Shadow public abstract boolean applyPreviousValue();
@Shadow public abstract boolean applyNextValue();
@Shadow protected NavigationController navigation;
@Unique private final BaseOptionElementComponentProcessor processor
= new BaseOptionElementComponentProcessor(this::cycle);
@Override
public ComponentProcessor componentProcessor() {
return processor;
}
private void cycle(boolean reverse) {
boolean needsUpdate = reverse ? applyPreviousValue() : applyNextValue();
if (needsUpdate) {
navigation.refresh();
}
}
}

View File

@ -7,7 +7,7 @@
},
"compatibilityLevel": "JAVA_17",
"mixins": [
// "compat.iris.BaseOptionElementWidgetMixin",
"compat.iris.BaseOptionElementWidgetMixin",
"compat.sodium.CycleControlElementMixin",
"compat.sodium.SliderControlElementMixin",
"compat.sodium.TickBoxControlElementMixin",