de.pewpewproject.lasertag.networking.server.callbacks.PlayerHitLasertargetCallback   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
A receive(MinecraftServer,ServerPlayerEntity,ServerPlayNetworkHandler,PacketByteBuf,PacketSender) 0 20 2
1
package de.pewpewproject.lasertag.networking.server.callbacks;
2
3
import de.pewpewproject.lasertag.LasertagMod;
4
import net.fabricmc.fabric.api.networking.v1.PacketSender;
5
import net.fabricmc.fabric.api.networking.v1.ServerPlayNetworking;
6
import net.minecraft.network.PacketByteBuf;
7
import net.minecraft.server.MinecraftServer;
8
import net.minecraft.server.network.ServerPlayNetworkHandler;
9
import net.minecraft.server.network.ServerPlayerEntity;
10
import net.minecraft.util.math.BlockPos;
11
12
/**
13
 * Callback to handle when a client hit a lasertarget
14
 *
15
 * @author Étienne Muser
16
 */
17
public class PlayerHitLasertargetCallback implements ServerPlayNetworking.PlayChannelHandler {
18
    @Override
19
    public void receive(MinecraftServer server, ServerPlayerEntity player, ServerPlayNetworkHandler handler, PacketByteBuf buf, PacketSender responseSender) {
20
21
        try {
22
23
            // Get the game managers
24
            var gameManager = server.getOverworld().getServerLasertagManager();
25
26
            var playerUuid = buf.readUuid();
27
28
            var targetX = buf.readDouble();
29
            var targetY = buf.readDouble();
30
            var targetZ = buf.readDouble();
31
32
            var targetPos = new BlockPos(targetX, targetY, targetZ);
33
34
            gameManager.playerHitLasertarget(playerUuid, targetPos);
35
        } catch (Exception ex) {
36
            LasertagMod.LOGGER.error("Error in PlayerHitLasertargetCallback", ex);
37
            throw ex;
38
        }
39
    }
40
}
41