/
TMechworks.java
83 lines (64 loc) · 2.65 KB
/
TMechworks.java
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
package slimeknights.tmechworks;
import net.minecraft.data.DataGenerator;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.eventbus.api.IEventBus;
import net.minecraftforge.fml.DistExecutor;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.event.lifecycle.*;
import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import slimeknights.mantle.util.ModelJsonGenerator;
import slimeknights.tmechworks.client.ClientProxy;
import slimeknights.tmechworks.common.CommonProxy;
import slimeknights.tmechworks.common.config.ListConfig;
import slimeknights.tmechworks.common.config.MechworksConfig;
import slimeknights.tmechworks.common.MechworksContent;
import slimeknights.tmechworks.common.network.PacketHandler;
import java.nio.file.Path;
import java.nio.file.Paths;
@Mod(TMechworks.modId)
public class TMechworks {
public static final String modId = "tmechworks";
public static final String modName = "Tinkers' Mechworks";
public static final Path CONFIG_ROOT = Paths.get("config", "Tinkers Mechworks");
public static final Logger log = LogManager.getLogger(modId);
public static TMechworks instance;
public static CommonProxy proxy = DistExecutor.runForDist(() -> ClientProxy::new, () -> CommonProxy::new);
public static MechworksContent content;
public TMechworks() {
instance = this;
IEventBus bus = FMLJavaModLoadingContext.get().getModEventBus();
bus.addListener(this::preInit);
bus.addListener(this::init);
bus.addListener(this::postInit);
bus.addListener(this::gatherData);
bus.addListener(this::setupClient);
content = new MechworksContent();
bus.register(content);
}
private void preInit(final FMLCommonSetupEvent event) {
CONFIG_ROOT.toFile().mkdirs();
MechworksConfig.load();
ListConfig.ping();
proxy.preInit();
content.preInit(event);
DistExecutor.runWhenOn(Dist.CLIENT, () -> content::registerScreenFactories);
PacketHandler.register();
}
private void init(final InterModEnqueueEvent event) {
proxy.init();
content.init(event);
}
private void postInit(final InterModProcessEvent event) {
proxy.postInit();
content.postInit(event);
}
private void setupClient(final FMLClientSetupEvent event) {
proxy.setupClient();
}
private void gatherData(final GatherDataEvent event) {
DataGenerator generator = event.getGenerator();
generator.addProvider(new ModelJsonGenerator(generator, modId));
}
}