-
Notifications
You must be signed in to change notification settings - Fork 49
Expand file tree
/
Copy pathModularUI.java
More file actions
104 lines (84 loc) · 3.39 KB
/
ModularUI.java
File metadata and controls
104 lines (84 loc) · 3.39 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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package com.cleanroommc.modularui;
import net.minecraftforge.fml.common.Loader;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.ModContainer;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLPostInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.event.FMLServerStartingEvent;
import net.minecraftforge.fml.relauncher.FMLLaunchHandler;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.jetbrains.annotations.Nullable;
import java.util.function.Predicate;
@Mod(modid = ModularUI.ID,
name = ModularUI.NAME,
version = ModularUI.VERSION,
acceptedMinecraftVersions = "[1.12,)",
dependencies = "required-after:mixinbooter@[8.0,);" +
"before:bogosorter@[1.6.1,);" +
"after-client:neverenoughanimations@[1.0.6,)")
public class ModularUI {
public static final String ID = MuiTags.MODID;
public static final String NAME = "Modular UI";
public static final String VERSION = MuiTags.VERSION;
public static final Logger LOGGER = LogManager.getLogger(ID);
public static final String BOGO_SORT = "bogosorter";
@SidedProxy(
modId = ID,
clientSide = "com.cleanroommc.modularui.ClientProxy",
serverSide = "com.cleanroommc.modularui.CommonProxy")
public static CommonProxy proxy;
public static final boolean isDev = FMLLaunchHandler.isDeobfuscatedEnvironment();
@Mod.Instance
public static ModularUI INSTANCE;
@Mod.EventHandler
public void preInit(FMLPreInitializationEvent event) {
proxy.preInit(event);
}
@Mod.EventHandler
public void postInit(FMLPostInitializationEvent event) {
proxy.postInit(event);
}
@Mod.EventHandler
public void onServerLoad(FMLServerStartingEvent event) {
proxy.onServerLoad(event);
}
public enum Mods {
BAUBLES(ModIds.BAUBLES),
BLUR(ModIds.BLUR),
BOGOSORTER(ModIds.BOGOSORTER),
JEI(ModIds.JEI),
NEA(ModIds.NEA),
MODNAMETOOLTIP(ModIds.MODNAMETOOLTIP);
public final String id;
private boolean loaded = false;
private boolean initialized = false;
private final Predicate<ModContainer> extraLoadedCheck;
Mods(String id) {
this(id, null);
}
Mods(String id, @Nullable Predicate<ModContainer> extraLoadedCheck) {
this.id = id;
this.extraLoadedCheck = extraLoadedCheck;
}
public boolean isLoaded() {
if (!this.initialized) {
this.loaded = Loader.isModLoaded(this.id);
if (this.loaded && this.extraLoadedCheck != null) {
this.loaded = this.extraLoadedCheck.test(Loader.instance().getIndexedModList().get(this.id));
}
this.initialized = true;
}
return this.loaded;
}
}
public static class ModIds {
public static final String BLUR = "blur";
public static final String BOGOSORTER = "bogosorter";
public static final String JEI = "jei";
public static final String NEA = "neverenoughanimations";
public static final String BAUBLES = "baubles";
public static final String MODNAMETOOLTIP = "modnametooltip";
}
}