blob: 49332457ca34cea1794258103fe983f629d7ee9d (
plain)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
package kubatech.mixin;
import static kubatech.mixin.TargetedMod.*;
import cpw.mods.fml.relauncher.FMLLaunchHandler;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
public enum Mixin {
// Minecraft
EnchantmentHelperMixin("minecraft.EnchantmentHelperMixin", VANILLA);
public final String mixinClass;
public final List<TargetedMod> targetedMods;
private final Side side;
Mixin(String mixinClass, Side side, TargetedMod... targetedMods) {
this.mixinClass = mixinClass;
this.targetedMods = Arrays.asList(targetedMods);
this.side = side;
}
Mixin(String mixinClass, TargetedMod... targetedMods) {
this.mixinClass = mixinClass;
this.targetedMods = Arrays.asList(targetedMods);
this.side = Side.BOTH;
}
public boolean shouldLoad(List<TargetedMod> loadedMods) {
return (side == Side.BOTH
|| side == Side.SERVER && FMLLaunchHandler.side().isServer()
|| side == Side.CLIENT && FMLLaunchHandler.side().isClient())
&& new HashSet<>(loadedMods).containsAll(targetedMods);
}
}
enum Side {
BOTH,
CLIENT,
SERVER
}
|