-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathMixinConfigCompat.java
More file actions
27 lines (23 loc) · 1.27 KB
/
MixinConfigCompat.java
File metadata and controls
27 lines (23 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package gg.essential.mixincompat.cleanroom;
import gg.essential.CompatMixin;
import gg.essential.CompatShadow;
import org.spongepowered.asm.launch.GlobalProperties;
import org.spongepowered.asm.mixin.MixinEnvironment;
import org.spongepowered.asm.mixin.extensibility.IMixinConfigSource;
import org.spongepowered.asm.mixin.transformer.Config;
import java.util.Collections;
import java.util.Set;
@CompatMixin(target = "org.spongepowered.asm.mixin.transformer.MixinConfig")
public class MixinConfigCompat {
// See GlobalPropertiesKeysCompat
// https://github.com/CleanroomMC/MixinBooter-UniMix/blob/9d4b487ed32501137645cdf0da484b076f0bfaf4/src/main/java/org/spongepowered/asm/mixin/transformer/MixinConfig.java#L1400
static Config create(String configFile, MixinEnvironment outer, IMixinConfigSource source) {
Set<String> disabledMixinConfigs = GlobalProperties.get(GlobalPropertiesKeysCompat.CLEANROOM_DISABLE_MIXIN_CONFIGS, Collections.emptySet());
if (disabledMixinConfigs.contains(configFile)) {
return null;
}
return create$original(configFile, outer, source);
}
@CompatShadow(original = "create")
static Config create$original(String configFile, MixinEnvironment outer, IMixinConfigSource source) { throw new LinkageError(); }
}