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

Complexity

Total Complexity 2

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 17
rs 10
c 0
b 0
f 0
wmc 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftClient,ClientPlayNetworkHandler,PacketByteBuf,PacketSender) 0 16 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 to handle the player joined network event
12
 *
13
 * @author Étienne Muser
14
 */
15
public class PlayerJoinedCallback implements ClientPlayNetworking.PlayChannelHandler {
16
    @Override
17
    public void receive(MinecraftClient client, ClientPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) {
18
19
        try {
20
21
            // Get the game managers
22
            var gameManager = client.world.getClientLasertagManager();
23
            var playerNameState = gameManager.getSyncedState().getPlayerNamesState();
24
25
            var playerUuid = buf.readUuid();
26
            var playerName = buf.readString();
27
28
            playerNameState.savePlayerUsername(playerUuid, playerName);
29
        } catch (Exception ex) {
30
            LasertagMod.LOGGER.error("Error in PlayerJoinedCallback", ex);
31
            throw ex;
32
        }
33
    }
34
}
35