de.pewpewproject.lasertag.networking.client.callbacks.LasertagGameStartedCallback   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
dl 0
loc 19
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftClient,ClientPlayNetworkHandler,PacketByteBuf,PacketSender) 0 18 2
1
package de.pewpewproject.lasertag.networking.client.callbacks;
2
3
import de.pewpewproject.lasertag.LasertagMod;
4
import de.pewpewproject.lasertag.lasertaggame.settings.SettingDescription;
5
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
6
import net.fabricmc.fabric.api.networking.v1.PacketSender;
7
import net.minecraft.client.MinecraftClient;
8
import net.minecraft.client.network.ClientPlayNetworkHandler;
9
import net.minecraft.network.PacketByteBuf;
10
11
/**
12
 * Callback for the lasertag game started network event
13
 *
14
 * @author Étienne Muser
15
 */
16
public class LasertagGameStartedCallback implements ClientPlayNetworking.PlayChannelHandler {
17
    @Override
18
    public void receive(MinecraftClient client, ClientPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) {
19
20
        try {
21
22
            // Get the gameManagers
23
            var gameManager = client.world.getClientLasertagManager();
24
            var uiManager = gameManager.getUIStateManager();
25
            var settingsManager = gameManager.getSettingsManager();
26
            var uiState = gameManager.getSyncedState().getUIState();
27
28
            uiState.isGameRunning = true;
29
30
            // Start pregame count down timer
31
            uiManager.startPreGameCountdownTimer(settingsManager.<Long>get(SettingDescription.PREGAME_DURATION));
32
        } catch (Exception ex) {
33
            LasertagMod.LOGGER.error("Error in LasertagGameStartedCallback", ex);
34
            throw ex;
35
        }
36
    }
37
}
38