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

Complexity

Total Complexity 2

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 23
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftClient,ClientPlayNetworkHandler,PacketByteBuf,PacketSender) 0 22 2
1
package de.pewpewproject.lasertag.networking.client.callbacks;
2
3
import de.pewpewproject.lasertag.LasertagMod;
4
import net.fabricmc.fabric.api.client.networking.v1.ClientPlayNetworking;
5
import net.fabricmc.fabric.api.networking.v1.PacketSender;
6
import net.minecraft.client.MinecraftClient;
7
import net.minecraft.client.network.ClientPlayNetworkHandler;
8
import net.minecraft.network.PacketByteBuf;
9
10
/**
11
 * Callback for the capture the flag number of flags update network event
12
 *
13
 * @author Étienne Muser
14
 */
15
public class CTFNumberOfFlagsUpdateCallback implements ClientPlayNetworking.PlayChannelHandler {
16
    @Override
17
    public void receive(MinecraftClient client, ClientPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) {
18
19
        try {
20
21
            // Get the managers
22
            var gameManager = client.world.getClientLasertagManager();
23
            var captureTheFlagManager = gameManager.getCaptureTheFlagManager();
24
            var syncedState = gameManager.getSyncedState();
25
            var teamsManger = syncedState.getTeamsConfigState();
26
27
            // Get the team
28
            var teamOptional = teamsManger.getTeamOfId(buf.readInt());
29
30
            // Get the new number of flags
31
            var newNumberOfFlags = buf.readLong();
32
33
            // Update flag count
34
            teamOptional.ifPresent(team -> captureTheFlagManager.updateTeamFlagCount(team, newNumberOfFlags));
35
        } catch (Exception ex) {
36
            LasertagMod.LOGGER.error("Error in CTFNumberOfFlagsUpdateCallback", ex);
37
            throw ex;
38
        }
39
    }
40
}
41