|
1 | 1 | package net.darkhax.gamestages; |
2 | 2 |
|
| 3 | +import net.darkhax.gamestages.advancement.HasStageTrigger; |
3 | 4 | import net.darkhax.gamestages.command.GameStageCommands; |
4 | 5 | import net.darkhax.gamestages.data.GameStageSaveHandler; |
5 | 6 | import net.darkhax.gamestages.data.IStageData; |
6 | 7 | import net.darkhax.gamestages.packet.GameStagesPacketHandler; |
7 | 8 | import net.minecraft.ChatFormatting; |
| 9 | +import net.minecraft.advancements.CriteriaTriggers; |
8 | 10 | import net.minecraft.client.Minecraft; |
9 | 11 | import net.minecraftforge.api.distmarker.Dist; |
10 | 12 | import net.minecraftforge.api.distmarker.OnlyIn; |
11 | 13 | import net.minecraftforge.client.event.CustomizeGuiOverlayEvent; |
12 | 14 | import net.minecraftforge.common.MinecraftForge; |
13 | 15 | import net.minecraftforge.event.AddReloadListenerEvent; |
14 | 16 | import net.minecraftforge.fml.common.Mod; |
| 17 | +import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent; |
| 18 | +import net.minecraftforge.fml.javafmlmod.FMLJavaModLoadingContext; |
15 | 19 | import net.minecraftforge.fml.loading.FMLEnvironment; |
16 | 20 | import org.apache.logging.log4j.LogManager; |
17 | 21 | import org.apache.logging.log4j.Logger; |
18 | 22 |
|
19 | 23 | @Mod(GameStages.MOD_ID) |
20 | 24 | public class GameStages { |
21 | | - |
| 25 | + |
22 | 26 | public static final String MOD_ID = "gamestages"; |
23 | 27 | public static final Logger LOG = LogManager.getLogger("Game Stages"); |
24 | 28 | public static final GameStagesPacketHandler NETWORK = new GameStagesPacketHandler(); |
25 | | - |
| 29 | + |
26 | 30 | public GameStages() { |
27 | 31 |
|
28 | 32 | GameStageSaveHandler.reloadFakePlayers(); |
29 | 33 | GameStageSaveHandler.reloadKnownStages(); |
30 | 34 | GameStageCommands.initializeCommands(); |
31 | | - |
32 | 35 | if (FMLEnvironment.dist.isClient()) { |
33 | | - |
34 | 36 | MinecraftForge.EVENT_BUS.addListener(this::onF3Text); |
35 | 37 | } |
36 | | - |
37 | 38 | MinecraftForge.EVENT_BUS.addListener(this::registerReloadListeners); |
| 39 | + FMLJavaModLoadingContext.get().getModEventBus().addListener(this::setup); |
| 40 | + } |
| 41 | + |
| 42 | + private void setup(final FMLCommonSetupEvent event) { |
| 43 | + event.enqueueWork(() -> { |
| 44 | + CriteriaTriggers.register(HasStageTrigger.INSTANCE); |
| 45 | + }); |
38 | 46 | } |
39 | | - |
| 47 | + |
40 | 48 | private void registerReloadListeners(AddReloadListenerEvent event) { |
41 | | - |
| 49 | + |
42 | 50 | event.addListener(new GameStageReloader()); |
43 | 51 | } |
44 | | - |
| 52 | + |
45 | 53 | @OnlyIn(Dist.CLIENT) |
46 | | - private void onF3Text (CustomizeGuiOverlayEvent.DebugText event) { |
47 | | - |
| 54 | + private void onF3Text(CustomizeGuiOverlayEvent.DebugText event) { |
| 55 | + |
48 | 56 | final Minecraft mc = Minecraft.getInstance(); |
49 | | - |
| 57 | + |
50 | 58 | if (mc.options.renderDebug) { |
51 | | - |
| 59 | + |
52 | 60 | if (mc.player != null && mc.player.isShiftKeyDown()) { |
53 | | - |
| 61 | + |
54 | 62 | final IStageData data = GameStageHelper.getPlayerData(mc.player); |
55 | | - |
| 63 | + |
56 | 64 | if (data != null) { |
57 | | - |
| 65 | + |
58 | 66 | event.getRight().add(ChatFormatting.GOLD + ChatFormatting.UNDERLINE.toString() + "GameStages"); |
59 | 67 | event.getRight().add("Count: " + data.getStages().size()); |
60 | 68 | event.getRight().add("Type: " + data.getClass().getName()); |
61 | 69 | event.getRight().add("Stages: " + data.getStages().toString()); |
62 | 70 | } |
63 | 71 | } |
64 | | - |
| 72 | + |
65 | 73 | else { |
66 | | - |
| 74 | + |
67 | 75 | event.getRight().add(ChatFormatting.GOLD + ChatFormatting.UNDERLINE.toString() + "GameStages [Shift]"); |
68 | 76 | } |
69 | 77 | } |
|
0 commit comments