Skip to content

Commit 4d184af

Browse files
committed
update cleanroom and fix some checks
1 parent 51a0502 commit 4d184af

24 files changed

Lines changed: 697 additions & 362 deletions

build.gradle

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@ plugins {
22
id 'java'
33
id 'java-library'
44
id 'maven-publish'
5-
id 'com.gradleup.shadow' version '9.0.2'
6-
id 'xyz.wagyourtail.unimined' version '1.4.1'
5+
id 'com.gradleup.shadow' version '9.2.2'
6+
id 'xyz.wagyourtail.unimined' version '1.4.9-kappa'
77
id 'net.kyori.blossom' version '2.1.0'
88
}
99

@@ -28,7 +28,7 @@ version = propertyString('mod_version')
2828
group = propertyString('root_package')
2929

3030
base {
31-
archivesName.set("+" + propertyString('mod_id'))
31+
archivesName.set("+" +propertyString('mod_id'))
3232
}
3333

3434

@@ -64,15 +64,14 @@ unimined.minecraft {
6464

6565
cleanroom {
6666
if (propertyBool('use_access_transformer')) {
67-
accessTransformer "${rootProject.projectDir}/src/main/resources/" + propertyString('access_transformer_locations')
67+
accessTransformer "${rootProject.projectDir}/src/main/resources/${propertyString('access_transformer_locations')}"
6868
}
69-
loader "0.3.27-alpha"
69+
loader "0.4.2-alpha"
7070
runs.auth.username = minecraft_username
7171
runs.all {
72-
systemProperty("cleanroom.dev.mixin", "${mod_id}.default.mixin.json,${mod_id}.mod.mixin.json")
7372
def extraArgs = propertyString('extra_jvm_args')
7473
if (extraArgs != null && !extraArgs.trim().isEmpty()) {
75-
jvmArgs += extraArgs.split("\\s+").toList()
74+
jvmArgs += extraArgs.split { "\\s+" }.toList()
7675
}
7776
if (propertyBool('enable_foundation_debug')) {
7877
systemProperty("foundation.dump", "true")
@@ -107,6 +106,7 @@ unimined.minecraft {
107106

108107
mods {
109108
remap(configurations.modCompileOnly)
109+
remap(configurations.modRuntimeOnly)
110110
}
111111
}
112112

@@ -181,7 +181,6 @@ jar {
181181
manifest {
182182
def attribute_map = [:]
183183
attribute_map['ModType'] = "CRL"
184-
attribute_map['MixinConfigs'] = "${mod_id}.default.mixin.json,${mod_id}.mod.mixin.json"
185184
if (configurations.contain.size() > 0) {
186185
attribute_map['ContainedDeps'] = configurations.contain.collect { it.name }.join(' ')
187186
attribute_map['NonModDeps'] = true

gradle/scripts/dependencies.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repositories {
2323
}
2424

2525
dependencies {
26-
compileOnly "com.cleanroommc:sponge-mixin:0.20.10+mixin.0.8.7"
26+
compileOnly "com.cleanroommc:sponge-mixin:0.20.12+mixin.0.8.7"
2727
if (propertyBool('enable_lwjglx')) {
2828
compileOnly "com.cleanroommc:lwjglx:1.0.0"
2929
}

settings.gradle

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,10 @@ pluginManagement {
1313
maven {
1414
url = "https://maven.wagyourtail.xyz/releases"
1515
}
16+
maven {
17+
url = "https://maven.outlands.top/releases"
18+
}
19+
1620
maven {
1721
url = "https://maven.wagyourtail.xyz/snapshots"
1822
}
@@ -26,7 +30,7 @@ pluginManagement {
2630

2731
plugins {
2832
// Automatic toolchain provisioning
29-
id 'org.gradle.toolchains.foojay-resolver-convention' version '0.9.0'
33+
id 'org.gradle.toolchains.foojay-resolver-convention' version '1.0.0'
3034
}
3135

3236
// Due to an IntelliJ bug, this has to be done

src/main/java/mods/Hileb/optirefine/core/OptiRefineBlackboard.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import com.google.gson.*;
55
import it.unimi.dsi.fastutil.objects.Object2BooleanMap;
66
import it.unimi.dsi.fastutil.objects.Object2BooleanOpenHashMap;
7+
import mods.Hileb.optirefine.library.common.utils.Initializer;
78
import mods.Hileb.optirefine.library.common.utils.Lazy;
89
import net.minecraft.launchwrapper.Launch;
910
import net.minecraftforge.fml.relauncher.FMLLaunchHandler;
@@ -31,9 +32,11 @@ public class OptiRefineBlackboard {
3132

3233
public static boolean IS_INDEV = Boolean.parseBoolean(System.getProperty("optirefine.dev", "false"));
3334

34-
public static final HashSet<String> TEST_INDEV_CLASS = Sets.newHashSet(
35-
System.getProperty("optirefine.dev.classes").split(";")
36-
);
35+
public static final Set<String> TEST_INDEV_CLASS = Initializer.initializeSystemProperty(
36+
"optirefine.dev.classes",
37+
str -> Sets.newHashSet(str.split(";")) ,
38+
Set.of()
39+
);
3740

3841
public static final HashSet<String> INDEV_CLASS = Sets.newHashSet(
3942
"net.minecraft.client.gui.FontRenderer",
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package mods.Hileb.optirefine.library.common.utils;
2+
3+
import java.util.function.Function;
4+
import java.util.function.Supplier;
5+
6+
public class Initializer {
7+
public static <T> T initialize(Supplier<T> t) {
8+
return t.get();
9+
}
10+
11+
public static <T> T initializeSystemProperty(String key, Function<String, T> processor) {
12+
return processor.apply(System.getProperty(key));
13+
}
14+
15+
public static <T> T initializeSystemProperty(String key, Function<String, T> processor, T defaultVal) {
16+
String pr = System.getProperty(key);
17+
if (pr != null) {
18+
return processor.apply(pr);
19+
} else return defaultVal;
20+
}
21+
22+
public static <T> T initializeSystemProperty(String key, Function<String, T> processor, Supplier<T> defaultVal) {
23+
String pr = System.getProperty(key);
24+
if (pr != null) {
25+
return processor.apply(pr);
26+
} else return defaultVal.get();
27+
}
28+
}

src/main/java/mods/Hileb/optirefine/library/cursedmixinextensions/CursedMixinExtensions.java

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,9 @@ public static void postApply(ClassNode targetClass) {
173173
boolean deobf = Annotations.getValue(accessTransform, "deobf", Boolean.FALSE);
174174

175175
if ("<class>".equals(name)) {
176-
targetClass.access = access;
176+
if (access >= 0) {
177+
targetClass.access = access;
178+
}
177179
} else {
178180
String desc = method.desc;
179181
if (access == -1) access = method.access;
@@ -461,10 +463,14 @@ public MethodVisitor visitMethod(int access, String name, String descriptor, Str
461463
}
462464

463465
private static void transformCalls(ClassNode classNode, CallTransformTask... tasks) {
464-
for (CallTransformTask task : tasks) {
465-
for (MethodNode method : classNode.methods) {
466-
for (AbstractInsnNode insn : method.instructions) {
467-
if (insn instanceof MethodInsnNode call) {
466+
for (MethodNode method : classNode.methods) {
467+
List<MethodInsnNode> calls = new ArrayList<>();
468+
for (AbstractInsnNode insn = method.instructions.getFirst(); insn != null; insn = insn.getNext()) {
469+
if (insn instanceof MethodInsnNode mi) calls.add(mi);
470+
}
471+
for (CallTransformTask task : tasks) {
472+
for (MethodInsnNode call : calls) {
473+
if (call.getPrevious() != null || call.getNext() != null || method.instructions.getFirst() == call) {
468474
task.transform(method.instructions, call);
469475
}
470476
}

src/main/java/mods/Hileb/optirefine/mixin/defaults/minecraft/block/material/MixinMapColor.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,20 @@
11
package mods.Hileb.optirefine.mixin.defaults.minecraft.block.material;
22

33
import mods.Hileb.optirefine.library.common.utils.Checked;
4-
import mods.Hileb.optirefine.library.cursedmixinextensions.annotations.AccessTransformer;
54
import net.minecraft.block.material.MapColor;
6-
import org.objectweb.asm.Opcodes;
5+
import org.spongepowered.asm.mixin.Final;
76
import org.spongepowered.asm.mixin.Mixin;
7+
import org.spongepowered.asm.mixin.Mutable;
8+
import org.spongepowered.asm.mixin.Shadow;
89

910
@Checked
1011
@Mixin(MapColor.class)
1112
public abstract class MixinMapColor {
1213

13-
14-
@SuppressWarnings({"unused", "MissingUnique"})
15-
@AccessTransformer(access = Opcodes.ACC_PUBLIC, name = "field_76291_p", deobf = true)
16-
public int access_colorValue;
14+
15+
@Shadow
16+
@Mutable
17+
public int colorValue;
1718

1819
}
1920
/*

0 commit comments

Comments
 (0)